import os
import glob
import time
import math
import numpy as np
import pandas as pd
import tensorflow as tf
import matplotlib.pyplot as plt
from keras.layers import LSTM
from keras.layers import Dense
from keras.layers import Flatten
from keras.models import Sequential
from prettytable import PrettyTable
from keras.layers import Bidirectional
from tensorflow.keras.layers import GRU
from astropy.table import Table, Column
from keras.layers import TimeDistributed
from keras.layers.convolutional import Conv1D
from sklearn.metrics import mean_squared_error
from sklearn.preprocessing import MinMaxScaler
from keras.layers.convolutional import MaxPooling1D
from tensorflow.keras.layers import SimpleRNN as RNN
path = ('Datasets/Single Dataset')
data = [os.path.join(dp, f) for dp, dn, filenames in os.walk(path) for f in filenames if os.path.splitext(f)[1] == '.csv']
print("\n\nName of Datasets that are Used:")
print("===============================\n\n")
for i in data:
print(i)
Name of Datasets that are Used: =============================== Datasets/Single Dataset\Hig-DR\node_15.csv Datasets/Single Dataset\Hig-DR\node_24.csv Datasets/Single Dataset\Hig-DR\node_33.csv Datasets/Single Dataset\Hig-DR\node_48.csv Datasets/Single Dataset\Hig-DR\node_7.csv Datasets/Single Dataset\Low-DR\node_15.csv Datasets/Single Dataset\Low-DR\node_24.csv Datasets/Single Dataset\Low-DR\node_33.csv Datasets/Single Dataset\Low-DR\node_48.csv Datasets/Single Dataset\Low-DR\node_7.csv Datasets/Single Dataset\Med-DR\node_15.csv Datasets/Single Dataset\Med-DR\node_24.csv Datasets/Single Dataset\Med-DR\node_33.csv Datasets/Single Dataset\Med-DR\node_48.csv Datasets/Single Dataset\Med-DR\node_7.csv
all_data_node_7_training = pd.DataFrame()
all_data_node_15_training = pd.DataFrame()
all_data_node_24_training = pd.DataFrame()
all_data_node_33_training = pd.DataFrame()
all_data_node_48_training = pd.DataFrame()
all_data_node_7_testing = pd.DataFrame()
all_data_node_15_testing = pd.DataFrame()
all_data_node_24_testing = pd.DataFrame()
all_data_node_33_testing = pd.DataFrame()
all_data_node_48_testing = pd.DataFrame()
for i in data:
sample_data = pd .read_csv(i)
if("node_7" in i):
all_data_node_7_training = all_data_node_7_training.append(sample_data.head(650))
all_data_node_7_testing = all_data_node_7_testing.append(sample_data[651:])
if("node_15" in i):
all_data_node_15_training = all_data_node_15_training.append(sample_data.head(650))
all_data_node_15_testing = all_data_node_15_testing.append(sample_data[651:])
if("node_24" in i):
all_data_node_24_training = all_data_node_24_training.append(sample_data.head(650))
all_data_node_24_testing = all_data_node_24_testing.append(sample_data[651:])
if("node_33" in i):
all_data_node_33_training = all_data_node_33_training.append(sample_data.head(650))
all_data_node_33_testing = all_data_node_33_testing.append(sample_data[651:])
if("node_48" in i):
all_data_node_48_training = all_data_node_48_training.append(sample_data.head(650))
all_data_node_48_testing = all_data_node_48_testing.append(sample_data[651:])
all_data_node_7_training = all_data_node_7_training.drop("Time", axis = 1)
all_data_node_7_training = all_data_node_7_training.drop("Node", axis = 1)
all_data_node_7_training.reset_index(drop=True, inplace=True)
all_data_node_15_training = all_data_node_15_training.drop("Time", axis = 1)
all_data_node_15_training = all_data_node_15_training.drop("Node", axis = 1)
all_data_node_15_training.reset_index(drop=True, inplace=True)
all_data_node_24_training = all_data_node_24_training.drop("Time", axis = 1)
all_data_node_24_training = all_data_node_24_training.drop("Node", axis = 1)
all_data_node_24_training.reset_index(drop=True, inplace=True)
all_data_node_33_training = all_data_node_33_training.drop("Time", axis = 1)
all_data_node_33_training = all_data_node_33_training.drop("Node", axis = 1)
all_data_node_33_training.reset_index(drop=True, inplace=True)
all_data_node_48_training = all_data_node_48_training.drop("Time", axis = 1)
all_data_node_48_training = all_data_node_48_training.drop("Node", axis = 1)
all_data_node_48_training.reset_index(drop=True, inplace=True)
all_data_node_7_testing = all_data_node_7_testing.drop("Time", axis = 1)
all_data_node_7_testing = all_data_node_7_testing.drop("Node", axis = 1)
all_data_node_7_testing.reset_index(drop=True, inplace=True)
all_data_node_15_testing = all_data_node_15_testing.drop("Time", axis = 1)
all_data_node_15_testing = all_data_node_15_testing.drop("Node", axis = 1)
all_data_node_15_testing.reset_index(drop=True, inplace=True)
all_data_node_24_testing = all_data_node_24_testing.drop("Time", axis = 1)
all_data_node_24_testing = all_data_node_24_testing.drop("Node", axis = 1)
all_data_node_24_testing.reset_index(drop=True, inplace=True)
all_data_node_33_testing = all_data_node_33_testing.drop("Time", axis = 1)
all_data_node_33_testing = all_data_node_33_testing.drop("Node", axis = 1)
all_data_node_33_testing.reset_index(drop=True, inplace=True)
all_data_node_48_testing = all_data_node_48_testing.drop("Time", axis = 1)
all_data_node_48_testing = all_data_node_48_testing.drop("Node", axis = 1)
all_data_node_48_testing.reset_index(drop=True, inplace=True)
print("\n\nMain Datasets of Node 7 that is Used:")
print("=====================================\n\n")
print("Training Data:\n\n")
print(all_data_node_7_training)
print("\n\nTesting Data:\n\n")
print(all_data_node_7_testing)
print("\n\nMain Datasets of Node 15 that is Used:")
print("=====================================\n\n")
print("Training Data:\n\n")
print(all_data_node_15_training)
print("\n\nTesting Data:\n\n")
print(all_data_node_15_testing)
print("\n\nMain Datasets of Node 24 that is Used:")
print("=====================================\n\n")
print("Training Data:\n\n")
print(all_data_node_24_training)
print("\n\nTesting Data:\n\n")
print(all_data_node_24_testing)
print("\n\nMain Datasets of Node 33 that is Used:")
print("=====================================\n\n")
print("Training Data:\n\n")
print(all_data_node_33_training)
print("\n\nTesting Data:\n\n")
print(all_data_node_33_testing)
print("\n\nMain Datasets of Node 48 that is Used:")
print("=====================================\n\n")
print("Training Data:\n\n")
print(all_data_node_48_training)
print("\n\nTesting Data:\n\n")
print(all_data_node_48_testing)
Main Datasets of Node 7 that is Used:
=====================================
Training Data:
pos_x pos_y speed energy
0 71.1322 124.511 0.000000 1118.321423
1 71.7625 125.454 2.949013 1117.330000
2 72.7025 126.861 2.949013 1116.338577
3 73.6426 128.268 2.949013 1115.347154
4 74.5826 129.675 2.949013 1114.355731
... ... ... ... ...
1945 255.3640 120.883 0.000000 0.000000
1946 255.3640 120.883 0.000000 0.000000
1947 255.3640 120.883 0.000000 0.000000
1948 255.3640 120.883 0.000000 0.000000
1949 255.3640 120.883 0.000000 0.000000
[1950 rows x 4 columns]
Testing Data:
pos_x pos_y speed energy
0 158.247 254.898 7.842828 210.08317
1 159.187 256.305 7.842828 202.52120
2 160.127 257.712 7.842828 194.95923
3 161.067 259.119 7.842828 187.39726
4 162.007 260.526 7.842828 179.83529
.. ... ... ... ...
295 255.364 120.883 0.000000 0.00000
296 255.364 120.883 0.000000 0.00000
297 255.364 120.883 0.000000 0.00000
298 255.364 120.883 0.000000 0.00000
299 255.364 120.883 0.000000 0.00000
[300 rows x 4 columns]
Main Datasets of Node 15 that is Used:
=====================================
Training Data:
pos_x pos_y speed energy
0 87.0349 185.017 0.000000 751.723821
1 87.6682 185.454 4.969239 747.060000
2 89.1959 186.473 4.969239 742.396179
3 90.7237 187.492 4.969239 737.732359
4 92.2515 188.511 4.969239 733.068538
... ... ... ... ...
1945 257.2610 229.576 0.000000 0.000000
1946 257.2610 229.576 0.000000 0.000000
1947 257.2610 229.576 0.000000 0.000000
1948 257.2610 229.576 0.000000 0.000000
1949 257.2610 229.576 0.000000 0.000000
[1950 rows x 4 columns]
Testing Data:
pos_x pos_y speed energy
0 171.695 241.496 0.0 0.0
1 171.695 241.496 0.0 0.0
2 171.695 241.496 0.0 0.0
3 171.695 241.496 0.0 0.0
4 171.695 241.496 0.0 0.0
.. ... ... ... ...
295 257.261 229.576 0.0 0.0
296 257.261 229.576 0.0 0.0
297 257.261 229.576 0.0 0.0
298 257.261 229.576 0.0 0.0
299 257.261 229.576 0.0 0.0
[300 rows x 4 columns]
Main Datasets of Node 24 that is Used:
=====================================
Training Data:
pos_x pos_y speed energy
0 368.653 91.6318 0.000000 2137.551711
1 368.548 90.8244 0.370118 2137.110000
2 368.392 89.6361 0.370118 2136.668289
3 368.237 88.4477 0.370118 2136.226578
4 368.082 87.2593 0.370118 2135.784867
... ... ... ... ...
1945 381.943 69.8461 2.405508 1787.561232
1946 382.406 70.5222 2.405508 1786.899060
1947 382.869 71.1982 2.405508 1786.236888
1948 383.332 71.8743 2.405508 1785.574716
1949 383.794 72.5503 2.405508 1784.912544
[1950 rows x 4 columns]
Testing Data:
pos_x pos_y speed energy
0 384.720 73.9024 2.405508 775.181610
1 385.183 74.5785 2.405508 773.047275
2 385.646 75.2545 2.405508 770.912940
3 386.109 75.9306 2.405508 768.778605
4 386.572 76.6066 2.405508 766.644270
.. ... ... ... ...
295 382.406 70.5222 7.435760 1467.316100
296 382.869 71.1982 7.435760 1463.320168
297 383.332 71.8743 7.435760 1459.324236
298 383.794 72.5503 7.435760 1455.328304
299 384.257 73.2264 7.435760 1451.332372
[300 rows x 4 columns]
Main Datasets of Node 33 that is Used:
=====================================
Training Data:
pos_x pos_y speed energy
0 122.157 322.683 0.000000 1617.216083
1 122.299 322.767 3.404496 1615.083000
2 123.672 322.697 3.404496 1612.949917
3 125.045 322.628 3.404496 1610.816834
4 126.418 322.558 3.404496 1608.683751
... ... ... ... ...
1945 376.262 192.742 3.466386 381.543423
1946 377.419 194.029 3.466386 381.205052
1947 378.576 195.316 3.466386 380.866681
1948 379.733 196.603 3.466386 380.528310
1949 380.890 197.890 3.466386 380.189939
[1950 rows x 4 columns]
Testing Data:
pos_x pos_y speed energy
0 248.615 316.373 1.463984 228.579050
1 249.988 316.303 1.463984 226.445967
2 251.361 316.234 1.463984 224.312884
3 252.734 316.164 1.463984 222.179801
4 254.107 316.095 1.463984 220.046718
.. ... ... ... ...
295 377.419 194.029 6.626459 347.367962
296 378.576 195.316 6.626459 347.029591
297 379.733 196.603 6.626459 346.691220
298 380.890 197.890 6.626459 346.352849
299 382.047 199.177 6.626459 346.014478
[300 rows x 4 columns]
Main Datasets of Node 48 that is Used:
=====================================
Training Data:
pos_x pos_y speed energy
0 369.390 151.479 0.000000 2998.925928
1 369.468 151.490 2.057354 2998.120000
2 369.728 151.527 2.057354 2996.240000
3 369.989 151.564 2.057354 2994.360000
4 370.250 151.602 2.057354 2992.480000
... ... ... ... ...
1945 391.898 154.707 5.970805 779.237960
1946 392.159 154.745 5.970805 777.880550
1947 392.420 154.782 5.970805 776.523140
1948 392.681 154.820 5.970805 775.165730
1949 392.941 154.857 5.970805 773.808320
[1950 rows x 4 columns]
Testing Data:
pos_x pos_y speed energy
0 393.463 154.932 5.970805 903.785894
1 393.724 154.969 5.970805 898.273815
2 393.985 155.007 5.970805 892.761735
3 394.246 155.044 5.970805 887.249655
4 394.506 155.082 5.970805 881.737575
.. ... ... ... ...
295 392.159 154.745 7.440762 493.946780
296 392.420 154.782 7.440762 488.584160
297 392.681 154.820 7.440762 483.221540
298 392.941 154.857 7.440762 477.858920
299 393.202 154.894 7.440762 472.496300
[300 rows x 4 columns]
plt.figure()
fig = plt.gcf()
fig.set_size_inches(14, 5)
plt.plot(all_data_node_7_training["pos_x"])
plt.plot(all_data_node_15_training["pos_x"])
plt.plot(all_data_node_24_training["pos_x"])
plt.plot(all_data_node_33_training["pos_x"])
plt.plot(all_data_node_48_training["pos_x"])
plt.legend(['Node 7','Node 15','Node 24','Node 33','Node 48'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.title('pos_x')
plt.grid(True)
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(14, 5)
plt.plot(all_data_node_7_training["pos_y"])
plt.plot(all_data_node_15_training["pos_y"])
plt.plot(all_data_node_24_training["pos_y"])
plt.plot(all_data_node_33_training["pos_y"])
plt.plot(all_data_node_48_training["pos_y"])
plt.legend(['Node 7','Node 15','Node 24','Node 33','Node 48'], loc='upper right')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(14, 5)
plt.plot(all_data_node_7_training["energy"])
plt.plot(all_data_node_15_training["energy"])
plt.plot(all_data_node_24_training["energy"])
plt.plot(all_data_node_33_training["energy"])
plt.plot(all_data_node_48_training["energy"])
plt.legend(['Node 7','Node 15','Node 24','Node 33','Node 48'], loc='upper right')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (joules)')
plt.grid(True)
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(14, 5)
plt.plot(all_data_node_7_training["speed"])
plt.plot(all_data_node_15_training["speed"])
plt.plot(all_data_node_24_training["speed"])
plt.plot(all_data_node_33_training["speed"])
plt.plot(all_data_node_48_training["speed"])
plt.legend(['Node 7','Node 15','Node 24','Node 33','Node 48'], loc='upper right')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.show()
X_data_node_7_training = all_data_node_7_training[0:-1]
X_data_node_7_training.reset_index(drop=True, inplace=True)
X_data_node_15_training = all_data_node_15_training[0:-1]
X_data_node_15_training.reset_index(drop=True, inplace=True)
X_data_node_24_training = all_data_node_24_training[0:-1]
X_data_node_24_training.reset_index(drop=True, inplace=True)
X_data_node_33_training = all_data_node_33_training[0:-1]
X_data_node_33_training.reset_index(drop=True, inplace=True)
X_data_node_48_training = all_data_node_48_training[0:-1]
X_data_node_48_training.reset_index(drop=True, inplace=True)
X_data_node_7_testing = all_data_node_7_testing[0:-1]
X_data_node_7_testing.reset_index(drop=True, inplace=True)
X_data_node_15_testing = all_data_node_15_testing[0:-1]
X_data_node_15_testing.reset_index(drop=True, inplace=True)
X_data_node_24_testing = all_data_node_24_testing[0:-1]
X_data_node_24_testing.reset_index(drop=True, inplace=True)
X_data_node_33_testing = all_data_node_33_testing[0:-1]
X_data_node_33_testing.reset_index(drop=True, inplace=True)
X_data_node_48_testing = all_data_node_48_testing[0:-1]
X_data_node_48_testing.reset_index(drop=True, inplace=True)
y_data_node_7_training = all_data_node_7_training[1:]
y_data_node_7_training.reset_index(drop=True, inplace=True)
y_data_node_7_training.columns = ["pos_x_result","pos_y_result","speed_result","energy_result"]
y_data_node_15_training = all_data_node_15_training[1:]
y_data_node_15_training.reset_index(drop=True, inplace=True)
y_data_node_15_training.columns = ["pos_x_result","pos_y_result","speed_result","energy_result"]
y_data_node_24_training = all_data_node_24_training[1:]
y_data_node_24_training.reset_index(drop=True, inplace=True)
y_data_node_24_training.columns = ["pos_x_result","pos_y_result","speed_result","energy_result"]
y_data_node_33_training = all_data_node_33_training[1:]
y_data_node_33_training.reset_index(drop=True, inplace=True)
y_data_node_33_training.columns = ["pos_x_result","pos_y_result","speed_result","energy_result"]
y_data_node_48_training = all_data_node_48_training[1:]
y_data_node_48_training.reset_index(drop=True, inplace=True)
y_data_node_48_training.columns = ["pos_x_result","pos_y_result","speed_result","energy_result"]
y_data_node_7_testing = all_data_node_7_testing[1:]
y_data_node_7_testing.reset_index(drop=True, inplace=True)
y_data_node_7_testing.columns = ["pos_x_result","pos_y_result","speed_result","energy_result"]
y_data_node_15_testing = all_data_node_15_testing[1:]
y_data_node_15_testing.reset_index(drop=True, inplace=True)
y_data_node_15_testing.columns = ["pos_x_result","pos_y_result","speed_result","energy_result"]
y_data_node_24_testing = all_data_node_24_testing[1:]
y_data_node_24_testing.reset_index(drop=True, inplace=True)
y_data_node_24_testing.columns = ["pos_x_result","pos_y_result","speed_result","energy_result"]
y_data_node_33_testing = all_data_node_33_testing[1:]
y_data_node_33_testing.reset_index(drop=True, inplace=True)
y_data_node_33_testing.columns = ["pos_x_result","pos_y_result","speed_result","energy_result"]
y_data_node_48_testing = all_data_node_48_testing[1:]
y_data_node_48_testing.reset_index(drop=True, inplace=True)
y_data_node_48_testing.columns = ["pos_x_result","pos_y_result","speed_result","energy_result"]
X_training_data_node_7 = X_data_node_7_training
X_testing_data_node_7 = X_data_node_7_testing
X_training_data_node_15 = X_data_node_15_training
X_testing_data_node_15 = X_data_node_15_testing
X_training_data_node_24 = X_data_node_24_training
X_testing_data_node_24 = X_data_node_24_testing
X_training_data_node_33 = X_data_node_33_training
X_testing_data_node_33 = X_data_node_33_testing
X_training_data_node_48 = X_data_node_48_training
X_testing_data_node_48 = X_data_node_48_testing
y_training_data_node_7 = y_data_node_7_training
y_testing_data_node_7 = y_data_node_7_testing
y_training_data_node_15 = y_data_node_15_training
y_testing_data_node_15 = y_data_node_15_testing
y_training_data_node_24 = y_data_node_24_training
y_testing_data_node_24 = y_data_node_24_testing
y_training_data_node_33 = y_data_node_33_training
y_testing_data_node_33 = y_data_node_33_testing
y_training_data_node_48 = y_data_node_48_training
y_testing_data_node_48 = y_data_node_48_testing
y_training_data_node_7.reset_index(drop=True, inplace=True)
y_training_data_node_7.reset_index(drop=True, inplace=True)
y_training_data_node_15.reset_index(drop=True, inplace=True)
y_training_data_node_15.reset_index(drop=True, inplace=True)
y_training_data_node_24.reset_index(drop=True, inplace=True)
y_training_data_node_24.reset_index(drop=True, inplace=True)
y_training_data_node_33.reset_index(drop=True, inplace=True)
y_training_data_node_33.reset_index(drop=True, inplace=True)
y_training_data_node_48.reset_index(drop=True, inplace=True)
y_training_data_node_48.reset_index(drop=True, inplace=True)
y_training_data_pos_x_node_7 = y_training_data_node_7["pos_x_result"]
y_training_data_pos_y_node_7 = y_training_data_node_7["pos_y_result"]
y_training_data_speed_node_7 = y_training_data_node_7["speed_result"]
y_training_data_energy_node_7 = y_training_data_node_7["energy_result"]
y_testing_data_pos_x_node_7 = y_testing_data_node_7["pos_x_result"]
y_testing_data_pos_y_node_7 = y_testing_data_node_7["pos_y_result"]
y_testing_data_speed_node_7 = y_testing_data_node_7["speed_result"]
y_testing_data_energy_node_7 = y_testing_data_node_7["energy_result"]
y_training_data_pos_x_node_15 = y_training_data_node_15["pos_x_result"]
y_training_data_pos_y_node_15 = y_training_data_node_15["pos_y_result"]
y_training_data_speed_node_15 = y_training_data_node_15["speed_result"]
y_training_data_energy_node_15 = y_training_data_node_15["energy_result"]
y_testing_data_pos_x_node_15 = y_testing_data_node_15["pos_x_result"]
y_testing_data_pos_y_node_15 = y_testing_data_node_15["pos_y_result"]
y_testing_data_speed_node_15 = y_testing_data_node_15["speed_result"]
y_testing_data_energy_node_15 = y_testing_data_node_15["energy_result"]
y_training_data_pos_x_node_24 = y_training_data_node_24["pos_x_result"]
y_training_data_pos_y_node_24 = y_training_data_node_24["pos_y_result"]
y_training_data_speed_node_24 = y_training_data_node_24["speed_result"]
y_training_data_energy_node_24 = y_training_data_node_24["energy_result"]
y_testing_data_pos_x_node_24 = y_testing_data_node_24["pos_x_result"]
y_testing_data_pos_y_node_24 = y_testing_data_node_24["pos_y_result"]
y_testing_data_speed_node_24 = y_testing_data_node_24["speed_result"]
y_testing_data_energy_node_24 = y_testing_data_node_24["energy_result"]
y_training_data_pos_x_node_33 = y_training_data_node_33["pos_x_result"]
y_training_data_pos_y_node_33 = y_training_data_node_33["pos_y_result"]
y_training_data_speed_node_33 = y_training_data_node_33["speed_result"]
y_training_data_energy_node_33 = y_training_data_node_33["energy_result"]
y_testing_data_pos_x_node_33 = y_testing_data_node_33["pos_x_result"]
y_testing_data_pos_y_node_33 = y_testing_data_node_33["pos_y_result"]
y_testing_data_speed_node_33 = y_testing_data_node_33["speed_result"]
y_testing_data_energy_node_33 = y_testing_data_node_33["energy_result"]
y_training_data_pos_x_node_48 = y_training_data_node_48["pos_x_result"]
y_training_data_pos_y_node_48 = y_training_data_node_48["pos_y_result"]
y_training_data_speed_node_48 = y_training_data_node_48["speed_result"]
y_training_data_energy_node_48 = y_training_data_node_48["energy_result"]
y_testing_data_pos_x_node_48 = y_testing_data_node_48["pos_x_result"]
y_testing_data_pos_y_node_48 = y_testing_data_node_48["pos_y_result"]
y_testing_data_speed_node_48 = y_testing_data_node_48["speed_result"]
y_testing_data_energy_node_48 = y_testing_data_node_48["energy_result"]
y_training_data_pos_x_node_7.reset_index(drop=True, inplace=True)
y_training_data_pos_y_node_7.reset_index(drop=True, inplace=True)
y_training_data_speed_node_7.reset_index(drop=True, inplace=True)
y_training_data_energy_node_7.reset_index(drop=True, inplace=True)
y_testing_data_pos_x_node_7.reset_index(drop=True, inplace=True)
y_testing_data_pos_y_node_7.reset_index(drop=True, inplace=True)
y_testing_data_speed_node_7.reset_index(drop=True, inplace=True)
y_testing_data_energy_node_7.reset_index(drop=True, inplace=True)
y_training_data_pos_x_node_15.reset_index(drop=True, inplace=True)
y_training_data_pos_y_node_15.reset_index(drop=True, inplace=True)
y_training_data_speed_node_15.reset_index(drop=True, inplace=True)
y_training_data_energy_node_15.reset_index(drop=True, inplace=True)
y_testing_data_pos_x_node_15.reset_index(drop=True, inplace=True)
y_testing_data_pos_y_node_15.reset_index(drop=True, inplace=True)
y_testing_data_speed_node_15.reset_index(drop=True, inplace=True)
y_testing_data_energy_node_15.reset_index(drop=True, inplace=True)
y_training_data_pos_x_node_24.reset_index(drop=True, inplace=True)
y_training_data_pos_y_node_24.reset_index(drop=True, inplace=True)
y_training_data_speed_node_24.reset_index(drop=True, inplace=True)
y_training_data_energy_node_24.reset_index(drop=True, inplace=True)
y_testing_data_pos_x_node_24.reset_index(drop=True, inplace=True)
y_testing_data_pos_y_node_24.reset_index(drop=True, inplace=True)
y_testing_data_speed_node_24.reset_index(drop=True, inplace=True)
y_testing_data_energy_node_24.reset_index(drop=True, inplace=True)
y_training_data_pos_x_node_33.reset_index(drop=True, inplace=True)
y_training_data_pos_y_node_33.reset_index(drop=True, inplace=True)
y_training_data_speed_node_33.reset_index(drop=True, inplace=True)
y_training_data_energy_node_33.reset_index(drop=True, inplace=True)
y_testing_data_pos_x_node_33.reset_index(drop=True, inplace=True)
y_testing_data_pos_y_node_33.reset_index(drop=True, inplace=True)
y_testing_data_speed_node_33.reset_index(drop=True, inplace=True)
y_testing_data_energy_node_33.reset_index(drop=True, inplace=True)
y_training_data_pos_x_node_48.reset_index(drop=True, inplace=True)
y_training_data_pos_y_node_48.reset_index(drop=True, inplace=True)
y_training_data_speed_node_48.reset_index(drop=True, inplace=True)
y_training_data_energy_node_48.reset_index(drop=True, inplace=True)
y_testing_data_pos_x_node_48.reset_index(drop=True, inplace=True)
y_testing_data_pos_y_node_48.reset_index(drop=True, inplace=True)
y_testing_data_speed_node_48.reset_index(drop=True, inplace=True)
y_testing_data_energy_node_48.reset_index(drop=True, inplace=True)
scaler=MinMaxScaler(feature_range=(0,1))
X_training_data_scale_node_7=scaler.fit_transform(np.array(X_training_data_node_7))
X_testing_data_scale_node_7=scaler.fit_transform(np.array(X_testing_data_node_7))
X_training_data_reshaped_node_7 = X_training_data_scale_node_7.reshape(X_training_data_scale_node_7.shape[0],X_training_data_scale_node_7.shape[1] , 1)
X_testing_data_reshaped_node_7 = X_testing_data_scale_node_7.reshape(X_testing_data_scale_node_7.shape[0],X_testing_data_scale_node_7.shape[1] , 1)
X_training_data_scale_node_15=scaler.fit_transform(np.array(X_training_data_node_15))
X_testing_data_scale_node_15=scaler.fit_transform(np.array(X_testing_data_node_15))
X_training_data_reshaped_node_15 = X_training_data_scale_node_15.reshape(X_training_data_scale_node_15.shape[0],X_training_data_scale_node_15.shape[1] , 1)
X_testing_data_reshaped_node_15 = X_testing_data_scale_node_15.reshape(X_testing_data_scale_node_15.shape[0],X_testing_data_scale_node_15.shape[1] , 1)
X_training_data_scale_node_24=scaler.fit_transform(np.array(X_training_data_node_24))
X_testing_data_scale_node_24=scaler.fit_transform(np.array(X_testing_data_node_24))
X_training_data_reshaped_node_24 = X_training_data_scale_node_24.reshape(X_training_data_scale_node_24.shape[0],X_training_data_scale_node_24.shape[1] , 1)
X_testing_data_reshaped_node_24 = X_testing_data_scale_node_24.reshape(X_testing_data_scale_node_24.shape[0],X_testing_data_scale_node_24.shape[1] , 1)
X_training_data_scale_node_33=scaler.fit_transform(np.array(X_training_data_node_33))
X_testing_data_scale_node_33=scaler.fit_transform(np.array(X_testing_data_node_33))
X_training_data_reshaped_node_33 = X_training_data_scale_node_33.reshape(X_training_data_scale_node_33.shape[0],X_training_data_scale_node_33.shape[1] , 1)
X_testing_data_reshaped_node_33 = X_testing_data_scale_node_33.reshape(X_testing_data_scale_node_33.shape[0],X_testing_data_scale_node_33.shape[1] , 1)
X_training_data_scale_node_48=scaler.fit_transform(np.array(X_training_data_node_48))
X_testing_data_scale_node_48=scaler.fit_transform(np.array(X_testing_data_node_48))
X_training_data_reshaped_node_48 = X_training_data_scale_node_48.reshape(X_training_data_scale_node_48.shape[0],X_training_data_scale_node_48.shape[1] , 1)
X_testing_data_reshaped_node_48 = X_testing_data_scale_node_48.reshape(X_testing_data_scale_node_48.shape[0],X_testing_data_scale_node_48.shape[1] , 1)
Stacked_LSTM_Model_pos_x_node_7 = Sequential()
Stacked_LSTM_Model_pos_x_node_7.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_pos_x_node_7.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_pos_x_node_7.add(LSTM(50))
Stacked_LSTM_Model_pos_x_node_7.add(Dense(1))
Stacked_LSTM_Model_pos_x_node_7.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_pos_y_node_7=Sequential()
Stacked_LSTM_Model_pos_y_node_7.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_pos_y_node_7.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_pos_y_node_7.add(LSTM(50))
Stacked_LSTM_Model_pos_y_node_7.add(Dense(1))
Stacked_LSTM_Model_pos_y_node_7.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_speed_node_7=Sequential()
Stacked_LSTM_Model_speed_node_7.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_speed_node_7.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_speed_node_7.add(LSTM(50))
Stacked_LSTM_Model_speed_node_7.add(Dense(1))
Stacked_LSTM_Model_speed_node_7.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_energy_node_7=Sequential()
Stacked_LSTM_Model_energy_node_7.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_energy_node_7.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_energy_node_7.add(LSTM(50))
Stacked_LSTM_Model_energy_node_7.add(Dense(1))
Stacked_LSTM_Model_energy_node_7.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_pos_x_node_15 = Sequential()
Stacked_LSTM_Model_pos_x_node_15.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_pos_x_node_15.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_pos_x_node_15.add(LSTM(50))
Stacked_LSTM_Model_pos_x_node_15.add(Dense(1))
Stacked_LSTM_Model_pos_x_node_15.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_pos_y_node_15=Sequential()
Stacked_LSTM_Model_pos_y_node_15.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_pos_y_node_15.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_pos_y_node_15.add(LSTM(50))
Stacked_LSTM_Model_pos_y_node_15.add(Dense(1))
Stacked_LSTM_Model_pos_y_node_15.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_speed_node_15=Sequential()
Stacked_LSTM_Model_speed_node_15.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_speed_node_15.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_speed_node_15.add(LSTM(50))
Stacked_LSTM_Model_speed_node_15.add(Dense(1))
Stacked_LSTM_Model_speed_node_15.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_energy_node_15=Sequential()
Stacked_LSTM_Model_energy_node_15.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_energy_node_15.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_energy_node_15.add(LSTM(50))
Stacked_LSTM_Model_energy_node_15.add(Dense(1))
Stacked_LSTM_Model_energy_node_15.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_pos_x_node_24 = Sequential()
Stacked_LSTM_Model_pos_x_node_24.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_pos_x_node_24.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_pos_x_node_24.add(LSTM(50))
Stacked_LSTM_Model_pos_x_node_24.add(Dense(1))
Stacked_LSTM_Model_pos_x_node_24.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_pos_y_node_24=Sequential()
Stacked_LSTM_Model_pos_y_node_24.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_pos_y_node_24.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_pos_y_node_24.add(LSTM(50))
Stacked_LSTM_Model_pos_y_node_24.add(Dense(1))
Stacked_LSTM_Model_pos_y_node_24.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_speed_node_24=Sequential()
Stacked_LSTM_Model_speed_node_24.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_speed_node_24.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_speed_node_24.add(LSTM(50))
Stacked_LSTM_Model_speed_node_24.add(Dense(1))
Stacked_LSTM_Model_speed_node_24.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_energy_node_24=Sequential()
Stacked_LSTM_Model_energy_node_24.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_energy_node_24.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_energy_node_24.add(LSTM(50))
Stacked_LSTM_Model_energy_node_24.add(Dense(1))
Stacked_LSTM_Model_energy_node_24.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_pos_x_node_33 = Sequential()
Stacked_LSTM_Model_pos_x_node_33.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_pos_x_node_33.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_pos_x_node_33.add(LSTM(50))
Stacked_LSTM_Model_pos_x_node_33.add(Dense(1))
Stacked_LSTM_Model_pos_x_node_33.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_pos_y_node_33=Sequential()
Stacked_LSTM_Model_pos_y_node_33.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_pos_y_node_33.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_pos_y_node_33.add(LSTM(50))
Stacked_LSTM_Model_pos_y_node_33.add(Dense(1))
Stacked_LSTM_Model_pos_y_node_33.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_speed_node_33=Sequential()
Stacked_LSTM_Model_speed_node_33.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_speed_node_33.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_speed_node_33.add(LSTM(50))
Stacked_LSTM_Model_speed_node_33.add(Dense(1))
Stacked_LSTM_Model_speed_node_33.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_energy_node_33=Sequential()
Stacked_LSTM_Model_energy_node_33.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_energy_node_33.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_energy_node_33.add(LSTM(50))
Stacked_LSTM_Model_energy_node_33.add(Dense(1))
Stacked_LSTM_Model_energy_node_33.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_pos_x_node_48 = Sequential()
Stacked_LSTM_Model_pos_x_node_48.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_pos_x_node_48.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_pos_x_node_48.add(LSTM(50))
Stacked_LSTM_Model_pos_x_node_48.add(Dense(1))
Stacked_LSTM_Model_pos_x_node_48.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_pos_y_node_48=Sequential()
Stacked_LSTM_Model_pos_y_node_48.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_pos_y_node_48.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_pos_y_node_48.add(LSTM(50))
Stacked_LSTM_Model_pos_y_node_48.add(Dense(1))
Stacked_LSTM_Model_pos_y_node_48.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_speed_node_48=Sequential()
Stacked_LSTM_Model_speed_node_48.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_speed_node_48.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_speed_node_48.add(LSTM(50))
Stacked_LSTM_Model_speed_node_48.add(Dense(1))
Stacked_LSTM_Model_speed_node_48.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_energy_node_48=Sequential()
Stacked_LSTM_Model_energy_node_48.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_energy_node_48.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_energy_node_48.add(LSTM(50))
Stacked_LSTM_Model_energy_node_48.add(Dense(1))
Stacked_LSTM_Model_energy_node_48.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_pos_x_node_7.fit(X_training_data_reshaped_node_7,y_training_data_pos_x_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_pos_x_node_7),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_pos_y_node_7.fit(X_training_data_reshaped_node_7,y_training_data_pos_y_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_pos_y_node_7),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_speed_node_7.fit(X_training_data_reshaped_node_7,y_training_data_speed_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_speed_node_7),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_energy_node_7.fit(X_training_data_reshaped_node_7,y_training_data_energy_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_energy_node_7),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_pos_x_node_15.fit(X_training_data_reshaped_node_15,y_training_data_pos_x_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_pos_x_node_15),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_pos_y_node_15.fit(X_training_data_reshaped_node_15,y_training_data_pos_y_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_pos_y_node_15),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_speed_node_15.fit(X_training_data_reshaped_node_15,y_training_data_speed_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_speed_node_15),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_energy_node_15.fit(X_training_data_reshaped_node_15,y_training_data_energy_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_energy_node_15),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_pos_x_node_24.fit(X_training_data_reshaped_node_24,y_training_data_pos_x_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_pos_x_node_24),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_pos_y_node_24.fit(X_training_data_reshaped_node_24,y_training_data_pos_y_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_pos_y_node_24),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_speed_node_24.fit(X_training_data_reshaped_node_24,y_training_data_speed_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_speed_node_24),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_energy_node_24.fit(X_training_data_reshaped_node_24,y_training_data_energy_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_energy_node_24),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_pos_x_node_33.fit(X_training_data_reshaped_node_33,y_training_data_pos_x_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_pos_x_node_33),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_pos_y_node_33.fit(X_training_data_reshaped_node_33,y_training_data_pos_y_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_pos_y_node_33),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_speed_node_33.fit(X_training_data_reshaped_node_33,y_training_data_speed_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_speed_node_33),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_energy_node_33.fit(X_training_data_reshaped_node_33,y_training_data_energy_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_energy_node_33),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_pos_x_node_48.fit(X_training_data_reshaped_node_48,y_training_data_pos_x_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_pos_x_node_48),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_pos_y_node_48.fit(X_training_data_reshaped_node_48,y_training_data_pos_y_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_pos_y_node_48),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_speed_node_48.fit(X_training_data_reshaped_node_48,y_training_data_speed_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_speed_node_48),epochs=5,batch_size=10,verbose=1)
Stacked_LSTM_Model_energy_node_48.fit(X_training_data_reshaped_node_48,y_training_data_energy_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_energy_node_48),epochs=5,batch_size=10,verbose=1)
Epoch 1/5 195/195 [==============================] - 10s 16ms/step - loss: 35404.8434 - val_loss: 24487.6895 Epoch 2/5 195/195 [==============================] - 2s 8ms/step - loss: 30331.0568 - val_loss: 21753.3633 Epoch 3/5 195/195 [==============================] - 2s 8ms/step - loss: 27185.3495 - val_loss: 19361.6699 Epoch 4/5 195/195 [==============================] - 2s 8ms/step - loss: 24208.6902 - val_loss: 17247.7539 Epoch 5/5 195/195 [==============================] - 2s 8ms/step - loss: 21791.9678 - val_loss: 15371.4697 Epoch 1/5 195/195 [==============================] - 11s 20ms/step - loss: 43494.2660 - val_loss: 22608.0996 Epoch 2/5 195/195 [==============================] - 2s 8ms/step - loss: 38799.0316 - val_loss: 19769.2383 Epoch 3/5 195/195 [==============================] - 2s 8ms/step - loss: 35476.2642 - val_loss: 17293.7500 Epoch 4/5 195/195 [==============================] - 2s 8ms/step - loss: 33001.7900 - val_loss: 15087.7979 Epoch 5/5 195/195 [==============================] - 2s 8ms/step - loss: 28298.0404 - val_loss: 13120.0029 Epoch 1/5 195/195 [==============================] - 10s 17ms/step - loss: 9.5433 - val_loss: 10.0850 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 3.6667 - val_loss: 2.8820 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 1.4926 - val_loss: 2.4370 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 1.2004 - val_loss: 1.5779 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 1.1032 - val_loss: 1.7487 Epoch 1/5 195/195 [==============================] - 10s 16ms/step - loss: 278343.0282 - val_loss: 1309.2938 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 283466.8535 - val_loss: 1614.3088 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 276567.1197 - val_loss: 2096.7578 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 236797.0820 - val_loss: 2746.3916 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 248735.6896 - val_loss: 3558.8145 Epoch 1/5 195/195 [==============================] - 10s 15ms/step - loss: 57826.9343 - val_loss: 33340.3359 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 52662.6127 - val_loss: 29837.8594 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 45728.3085 - val_loss: 26717.7422 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 43885.9411 - val_loss: 23889.7852 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 40847.6358 - val_loss: 21308.4844 Epoch 1/5 195/195 [==============================] - 10s 15ms/step - loss: 64234.4358 - val_loss: 46540.3008 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 55935.6164 - val_loss: 42188.8477 Epoch 3/5 195/195 [==============================] - 2s 8ms/step - loss: 49868.2291 - val_loss: 38262.3906 Epoch 4/5 195/195 [==============================] - 2s 8ms/step - loss: 47097.2517 - val_loss: 34644.8281 Epoch 5/5 195/195 [==============================] - 1s 8ms/step - loss: 43139.5754 - val_loss: 31304.1465 Epoch 1/5 195/195 [==============================] - 11s 16ms/step - loss: 6.1593 - val_loss: 7.3322 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 3.8444 - val_loss: 1.1021 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 0.8383 - val_loss: 1.8419 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 0.3910 - val_loss: 1.8153 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 0.3124 - val_loss: 1.7810 Epoch 1/5 195/195 [==============================] - 10s 15ms/step - loss: 504451.3052 - val_loss: 249062.6562 Epoch 2/5 195/195 [==============================] - 1s 8ms/step - loss: 483989.0901 - val_loss: 243638.9375 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 491921.4145 - val_loss: 238670.5312 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 477795.0973 - val_loss: 234031.9688 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 463336.5754 - val_loss: 229535.5781 Epoch 1/5 195/195 [==============================] - 12s 16ms/step - loss: 102846.6686 - val_loss: 86165.9375 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 92540.3809 - val_loss: 80648.9922 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 87747.9273 - val_loss: 75605.0938 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 83042.9512 - val_loss: 70893.4609 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 76862.1336 - val_loss: 66458.4688 Epoch 1/5 195/195 [==============================] - 9s 15ms/step - loss: 20772.0627 - val_loss: 17846.4570 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 16939.2615 - val_loss: 15895.0820 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 15153.4294 - val_loss: 14280.1904 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 13472.7960 - val_loss: 12918.3984 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 11911.1548 - val_loss: 11771.5586 Epoch 1/5 195/195 [==============================] - 13s 18ms/step - loss: 5.8036 - val_loss: 5.4938 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 1.6152 - val_loss: 6.4268 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 1.1218 - val_loss: 6.4163 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 0.7970 - val_loss: 5.3241 Epoch 5/5 195/195 [==============================] - 2s 9ms/step - loss: 0.6300 - val_loss: 4.5645 Epoch 1/5 195/195 [==============================] - 12s 19ms/step - loss: 2411086.4420 - val_loss: 1040500.8750 Epoch 2/5 195/195 [==============================] - 2s 8ms/step - loss: 2399515.2870 - val_loss: 1022647.5625 Epoch 3/5 195/195 [==============================] - 1s 8ms/step - loss: 2406287.7666 - val_loss: 1005671.3750 Epoch 4/5 195/195 [==============================] - 1s 8ms/step - loss: 2315998.2653 - val_loss: 989083.8125 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 2372805.2997 - val_loss: 972943.5000 Epoch 1/5 195/195 [==============================] - 10s 15ms/step - loss: 84658.5351 - val_loss: 52894.5195 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 75128.8651 - val_loss: 48505.4414 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 71549.9389 - val_loss: 44559.5859 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 65028.6919 - val_loss: 40907.2109 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 58925.0184 - val_loss: 37523.3867 Epoch 1/5 195/195 [==============================] - 13s 16ms/step - loss: 77446.4221 - val_loss: 65674.3125 Epoch 2/5 195/195 [==============================] - 1s 8ms/step - loss: 69102.8956 - val_loss: 60765.0117 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 63290.4534 - val_loss: 56310.6016 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 58588.0302 - val_loss: 52161.9141 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 55231.5423 - val_loss: 48307.6250 Epoch 1/5 195/195 [==============================] - 10s 16ms/step - loss: 6.4093 - val_loss: 2.1220 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 3.8589 - val_loss: 1.9840 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 2.3632 - val_loss: 2.9213 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 1.6746 - val_loss: 1.5012 Epoch 5/5 195/195 [==============================] - 2s 8ms/step - loss: 0.5045 - val_loss: 0.7836 Epoch 1/5 195/195 [==============================] - 9s 14ms/step - loss: 721081.0902 - val_loss: 258727.9688 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 702575.8607 - val_loss: 250149.6406 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 686481.9416 - val_loss: 242078.5312 Epoch 4/5 195/195 [==============================] - 2s 8ms/step - loss: 647509.5416 - val_loss: 234364.8125 Epoch 5/5 195/195 [==============================] - 1s 8ms/step - loss: 691256.6129 - val_loss: 226927.8594 Epoch 1/5 195/195 [==============================] - 14s 17ms/step - loss: 150786.7159 - val_loss: 129908.9922 Epoch 2/5 195/195 [==============================] - 2s 8ms/step - loss: 137967.8961 - val_loss: 122434.6094 Epoch 3/5 195/195 [==============================] - 2s 8ms/step - loss: 130355.6572 - val_loss: 115510.3438 Epoch 4/5 195/195 [==============================] - 1s 8ms/step - loss: 122556.7420 - val_loss: 108948.6406 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 116525.1445 - val_loss: 102700.1328 Epoch 1/5 195/195 [==============================] - 9s 15ms/step - loss: 21878.5251 - val_loss: 17574.2754 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 17270.4904 - val_loss: 14963.8164 Epoch 3/5 195/195 [==============================] - 1s 7ms/step - loss: 14753.5499 - val_loss: 12726.0439 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 12557.7306 - val_loss: 10765.2725 Epoch 5/5 195/195 [==============================] - 2s 8ms/step - loss: 10644.5731 - val_loss: 9044.4443 Epoch 1/5 195/195 [==============================] - 10s 15ms/step - loss: 8.7518 - val_loss: 8.6165 Epoch 2/5 195/195 [==============================] - 1s 7ms/step - loss: 3.9975 - val_loss: 11.4630 Epoch 3/5 195/195 [==============================] - 1s 8ms/step - loss: 3.5645 - val_loss: 13.8317 Epoch 4/5 195/195 [==============================] - 1s 7ms/step - loss: 1.7943 - val_loss: 11.4257 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 0.8973 - val_loss: 5.7834 Epoch 1/5 195/195 [==============================] - 10s 19ms/step - loss: 4172980.4974 - val_loss: 408993.7812 Epoch 2/5 195/195 [==============================] - 2s 8ms/step - loss: 4150819.7895 - val_loss: 395902.3438 Epoch 3/5 195/195 [==============================] - 1s 8ms/step - loss: 4029003.4974 - val_loss: 383476.9688 Epoch 4/5 195/195 [==============================] - 2s 9ms/step - loss: 4043019.1696 - val_loss: 371417.8438 Epoch 5/5 195/195 [==============================] - 1s 7ms/step - loss: 4022305.3253 - val_loss: 359708.8438
<tensorflow.python.keras.callbacks.History at 0x195045095b0>
train_predict_Stacked_LSTM_Model_pos_x_node_7 = Stacked_LSTM_Model_pos_x_node_7.predict(X_training_data_reshaped_node_7)
test_predict_Stacked_LSTM_Model_pos_x_node_7 = Stacked_LSTM_Model_pos_x_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_Stacked_LSTM_Model_pos_y_node_7 = Stacked_LSTM_Model_pos_y_node_7.predict(X_training_data_reshaped_node_7)
test_predict_Stacked_LSTM_Model_pos_y_node_7 = Stacked_LSTM_Model_pos_y_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_Stacked_LSTM_Model_speed_node_7 = Stacked_LSTM_Model_speed_node_7.predict(X_training_data_reshaped_node_7)
test_predict_Stacked_LSTM_Model_speed_node_7 = Stacked_LSTM_Model_speed_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_Stacked_LSTM_Model_energy_node_7 = Stacked_LSTM_Model_energy_node_7.predict(X_training_data_reshaped_node_7)
test_predict_Stacked_LSTM_Model_energy_node_7 = Stacked_LSTM_Model_energy_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_Stacked_LSTM_Model_pos_x_node_15 = Stacked_LSTM_Model_pos_x_node_15.predict(X_training_data_reshaped_node_15)
test_predict_Stacked_LSTM_Model_pos_x_node_15 = Stacked_LSTM_Model_pos_x_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_Stacked_LSTM_Model_pos_y_node_15 = Stacked_LSTM_Model_pos_y_node_15.predict(X_training_data_reshaped_node_15)
test_predict_Stacked_LSTM_Model_pos_y_node_15 = Stacked_LSTM_Model_pos_y_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_Stacked_LSTM_Model_speed_node_15 = Stacked_LSTM_Model_speed_node_15.predict(X_training_data_reshaped_node_15)
test_predict_Stacked_LSTM_Model_speed_node_15 = Stacked_LSTM_Model_speed_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_Stacked_LSTM_Model_energy_node_15 = Stacked_LSTM_Model_energy_node_15.predict(X_training_data_reshaped_node_15)
test_predict_Stacked_LSTM_Model_energy_node_15 = Stacked_LSTM_Model_energy_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_Stacked_LSTM_Model_pos_x_node_24 = Stacked_LSTM_Model_pos_x_node_24.predict(X_training_data_reshaped_node_24)
test_predict_Stacked_LSTM_Model_pos_x_node_24 = Stacked_LSTM_Model_pos_x_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_Stacked_LSTM_Model_pos_y_node_24 = Stacked_LSTM_Model_pos_y_node_24.predict(X_training_data_reshaped_node_24)
test_predict_Stacked_LSTM_Model_pos_y_node_24 = Stacked_LSTM_Model_pos_y_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_Stacked_LSTM_Model_speed_node_24 = Stacked_LSTM_Model_speed_node_24.predict(X_training_data_reshaped_node_24)
test_predict_Stacked_LSTM_Model_speed_node_24 = Stacked_LSTM_Model_speed_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_Stacked_LSTM_Model_energy_node_24 = Stacked_LSTM_Model_energy_node_24.predict(X_training_data_reshaped_node_24)
test_predict_Stacked_LSTM_Model_energy_node_24 = Stacked_LSTM_Model_energy_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_Stacked_LSTM_Model_pos_x_node_33 = Stacked_LSTM_Model_pos_x_node_33.predict(X_training_data_reshaped_node_33)
test_predict_Stacked_LSTM_Model_pos_x_node_33 = Stacked_LSTM_Model_pos_x_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_Stacked_LSTM_Model_pos_y_node_33 = Stacked_LSTM_Model_pos_y_node_33.predict(X_training_data_reshaped_node_33)
test_predict_Stacked_LSTM_Model_pos_y_node_33 = Stacked_LSTM_Model_pos_y_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_Stacked_LSTM_Model_speed_node_33 = Stacked_LSTM_Model_speed_node_33.predict(X_training_data_reshaped_node_33)
test_predict_Stacked_LSTM_Model_speed_node_33 = Stacked_LSTM_Model_speed_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_Stacked_LSTM_Model_energy_node_33 = Stacked_LSTM_Model_energy_node_33.predict(X_training_data_reshaped_node_33)
test_predict_Stacked_LSTM_Model_energy_node_33 = Stacked_LSTM_Model_energy_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_Stacked_LSTM_Model_pos_x_node_48 = Stacked_LSTM_Model_pos_x_node_48.predict(X_training_data_reshaped_node_48)
test_predict_Stacked_LSTM_Model_pos_x_node_48 = Stacked_LSTM_Model_pos_x_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_Stacked_LSTM_Model_pos_y_node_48 = Stacked_LSTM_Model_pos_y_node_48.predict(X_training_data_reshaped_node_48)
test_predict_Stacked_LSTM_Model_pos_y_node_48 = Stacked_LSTM_Model_pos_y_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_Stacked_LSTM_Model_speed_node_48 = Stacked_LSTM_Model_speed_node_48.predict(X_training_data_reshaped_node_48)
test_predict_Stacked_LSTM_Model_speed_node_48 = Stacked_LSTM_Model_speed_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_Stacked_LSTM_Model_energy_node_48 = Stacked_LSTM_Model_energy_node_48.predict(X_training_data_reshaped_node_48)
test_predict_Stacked_LSTM_Model_energy_node_48 = Stacked_LSTM_Model_energy_node_48.predict(X_testing_data_reshaped_node_48)
print("\n\nRMSE on Training Data by Stacked LSTM: ")
print("======================================\n\n")
print("\n\nRMSE of Node 7: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_7,train_predict_Stacked_LSTM_Model_pos_x_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_7,train_predict_Stacked_LSTM_Model_pos_y_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_7,train_predict_Stacked_LSTM_Model_speed_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_7,train_predict_Stacked_LSTM_Model_energy_node_7)))
print("\n\nRMSE of Node 15: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_15,train_predict_Stacked_LSTM_Model_pos_x_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_15,train_predict_Stacked_LSTM_Model_pos_y_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_15,train_predict_Stacked_LSTM_Model_speed_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_15,train_predict_Stacked_LSTM_Model_energy_node_15)))
print("\n\nRMSE of Node 24: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_24,train_predict_Stacked_LSTM_Model_pos_x_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_24,train_predict_Stacked_LSTM_Model_pos_y_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_24,train_predict_Stacked_LSTM_Model_speed_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_24,train_predict_Stacked_LSTM_Model_energy_node_24)))
print("\n\nRMSE of Node 33: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_33,train_predict_Stacked_LSTM_Model_pos_x_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_33,train_predict_Stacked_LSTM_Model_pos_y_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_33,train_predict_Stacked_LSTM_Model_speed_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_33,train_predict_Stacked_LSTM_Model_energy_node_33)))
print("\n\nRMSE of Node 48: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_48,train_predict_Stacked_LSTM_Model_pos_x_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_48,train_predict_Stacked_LSTM_Model_pos_y_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_48,train_predict_Stacked_LSTM_Model_speed_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_48,train_predict_Stacked_LSTM_Model_energy_node_48)))
print("\n\nRMSE on Testing Data by Stacked LSTM: ")
print("=====================================\n\n")
print("\n\nRMSE of Node 7: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_pos_x_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_Stacked_LSTM_Model_pos_y_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_Stacked_LSTM_Model_speed_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_Stacked_LSTM_Model_energy_node_7)))
print("\n\nRMSE of Node 15: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_pos_x_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_Stacked_LSTM_Model_pos_y_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_Stacked_LSTM_Model_speed_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_Stacked_LSTM_Model_energy_node_15)))
print("\n\nRMSE of Node 24: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_pos_x_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_24,test_predict_Stacked_LSTM_Model_pos_y_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_Stacked_LSTM_Model_speed_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_Stacked_LSTM_Model_energy_node_24)))
print("\n\nRMSE of Node 33: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_pos_x_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_Stacked_LSTM_Model_pos_y_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_Stacked_LSTM_Model_speed_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_Stacked_LSTM_Model_energy_node_33)))
print("\n\nRMSE of Node 48: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_pos_x_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_Stacked_LSTM_Model_pos_y_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_Stacked_LSTM_Model_speed_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_Stacked_LSTM_Model_energy_node_48)))
RMSE on Training Data by Stacked LSTM: ====================================== RMSE of Node 7: ====================================== 142.4267948552979 166.37859153995095 1.0202161460596793 494.8003287845379 RMSE of Node 15: ====================================== 194.7692518118867 202.2210001026537 0.5617987351372188 676.4490717338922 RMSE of Node 24: ====================================== 271.1026511675998 106.22371390968759 0.7309696527713134 1513.8217182009498 RMSE of Node 33: ====================================== 239.8506122591158 227.41467845271964 0.53869914764127 811.3053821221465 RMSE of Node 48: ====================================== 333.70620518963227 96.6689433974718 0.6024675893209775 1994.11589192643 RMSE on Testing Data by Stacked LSTM: ===================================== RMSE of Node 7: ====================================== 123.981724337066 114.54259473021803 1.3223860744926395 59.6557895808515 RMSE of Node 15: ====================================== 145.97427322191535 176.9297653444743 1.3345308098315403 479.0988241247522 RMSE of Node 24: ====================================== 257.7954130575904 108.49681331079339 2.1364596212758826 986.3790117496548 RMSE of Node 33: ====================================== 193.70953735607617 219.78996954108516 0.8852174836354741 476.3694606406331 RMSE of Node 48: ====================================== 320.46859908029677 95.10228507476472 2.4048618401773973 599.7573180351176
print("\n\nGraph of Node 7: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_7)
plt.plot(test_predict_Stacked_LSTM_Model_pos_x_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_7)
plt.plot(test_predict_Stacked_LSTM_Model_pos_y_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_7)
plt.plot(test_predict_Stacked_LSTM_Model_speed_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_7)
plt.plot(test_predict_Stacked_LSTM_Model_energy_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 15: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_15)
plt.plot(test_predict_Stacked_LSTM_Model_pos_x_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_15)
plt.plot(test_predict_Stacked_LSTM_Model_pos_y_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_15)
plt.plot(test_predict_Stacked_LSTM_Model_speed_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_15)
plt.plot(test_predict_Stacked_LSTM_Model_energy_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 24: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_24)
plt.plot(test_predict_Stacked_LSTM_Model_pos_x_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_24)
plt.plot(test_predict_Stacked_LSTM_Model_pos_y_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_24)
plt.plot(test_predict_Stacked_LSTM_Model_speed_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_24)
plt.plot(test_predict_Stacked_LSTM_Model_energy_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 33: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_33)
plt.plot(test_predict_Stacked_LSTM_Model_pos_x_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_33)
plt.plot(test_predict_Stacked_LSTM_Model_pos_y_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_33)
plt.plot(test_predict_Stacked_LSTM_Model_speed_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_33)
plt.plot(test_predict_Stacked_LSTM_Model_energy_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 48: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_48)
plt.plot(test_predict_Stacked_LSTM_Model_pos_x_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_48)
plt.plot(test_predict_Stacked_LSTM_Model_pos_y_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_48)
plt.plot(test_predict_Stacked_LSTM_Model_speed_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_48)
plt.plot(test_predict_Stacked_LSTM_Model_energy_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
Graph of Node 7: ======================================
Graph of Node 15: ======================================
Graph of Node 24: ======================================
Graph of Node 33: ======================================
Graph of Node 48: ======================================
X_training_data_reshaped_cnn_node_7 = X_training_data_scale_node_7.reshape(X_training_data_scale_node_7.shape[0],1,X_training_data_scale_node_7.shape[1] , 1)
X_testing_data_reshaped_cnn_node_7 = X_testing_data_scale_node_7.reshape(X_testing_data_scale_node_7.shape[0],1,X_testing_data_scale_node_7.shape[1] , 1)
X_training_data_reshaped_cnn_node_15 = X_training_data_scale_node_15.reshape(X_training_data_scale_node_15.shape[0],1,X_training_data_scale_node_15.shape[1] , 1)
X_testing_data_reshaped_cnn_node_15 = X_testing_data_scale_node_15.reshape(X_testing_data_scale_node_15.shape[0],1,X_testing_data_scale_node_15.shape[1] , 1)
X_training_data_reshaped_cnn_node_24 = X_training_data_scale_node_24.reshape(X_training_data_scale_node_24.shape[0],1,X_training_data_scale_node_24.shape[1] , 1)
X_testing_data_reshaped_cnn_node_24 = X_testing_data_scale_node_24.reshape(X_testing_data_scale_node_24.shape[0],1,X_testing_data_scale_node_24.shape[1] , 1)
X_training_data_reshaped_cnn_node_33 = X_training_data_scale_node_33.reshape(X_training_data_scale_node_33.shape[0],1,X_training_data_scale_node_33.shape[1] , 1)
X_testing_data_reshaped_cnn_node_33 = X_testing_data_scale_node_33.reshape(X_testing_data_scale_node_33.shape[0],1,X_testing_data_scale_node_33.shape[1] , 1)
X_training_data_reshaped_cnn_node_48 = X_training_data_scale_node_48.reshape(X_training_data_scale_node_48.shape[0],1,X_training_data_scale_node_48.shape[1] , 1)
X_testing_data_reshaped_cnn_node_48 = X_testing_data_scale_node_48.reshape(X_testing_data_scale_node_48.shape[0],1,X_testing_data_scale_node_48.shape[1] , 1)
CNN_LSTM_Model_pos_x_node_7 = Sequential()
CNN_LSTM_Model_pos_x_node_7.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_pos_x_node_7.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_pos_x_node_7.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_pos_x_node_7.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_pos_x_node_7.add(Dense(1))
CNN_LSTM_Model_pos_x_node_7.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_pos_y_node_7 = Sequential()
CNN_LSTM_Model_pos_y_node_7.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_pos_y_node_7.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_pos_y_node_7.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_pos_y_node_7.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_pos_y_node_7.add(Dense(1))
CNN_LSTM_Model_pos_y_node_7.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_speed_node_7 = Sequential()
CNN_LSTM_Model_speed_node_7.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_speed_node_7.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_speed_node_7.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_speed_node_7.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_speed_node_7.add(Dense(1))
CNN_LSTM_Model_speed_node_7.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_energy_node_7 = Sequential()
CNN_LSTM_Model_energy_node_7.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_energy_node_7.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_energy_node_7.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_energy_node_7.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_energy_node_7.add(Dense(1))
CNN_LSTM_Model_energy_node_7.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_pos_x_node_15 = Sequential()
CNN_LSTM_Model_pos_x_node_15.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_pos_x_node_15.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_pos_x_node_15.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_pos_x_node_15.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_pos_x_node_15.add(Dense(1))
CNN_LSTM_Model_pos_x_node_15.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_pos_y_node_15 = Sequential()
CNN_LSTM_Model_pos_y_node_15.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_pos_y_node_15.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_pos_y_node_15.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_pos_y_node_15.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_pos_y_node_15.add(Dense(1))
CNN_LSTM_Model_pos_y_node_15.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_speed_node_15 = Sequential()
CNN_LSTM_Model_speed_node_15.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_speed_node_15.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_speed_node_15.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_speed_node_15.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_speed_node_15.add(Dense(1))
CNN_LSTM_Model_speed_node_15.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_energy_node_15 = Sequential()
CNN_LSTM_Model_energy_node_15.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_energy_node_15.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_energy_node_15.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_energy_node_15.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_energy_node_15.add(Dense(1))
CNN_LSTM_Model_energy_node_15.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_pos_x_node_24 = Sequential()
CNN_LSTM_Model_pos_x_node_24.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_pos_x_node_24.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_pos_x_node_24.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_pos_x_node_24.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_pos_x_node_24.add(Dense(1))
CNN_LSTM_Model_pos_x_node_24.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_pos_y_node_24 = Sequential()
CNN_LSTM_Model_pos_y_node_24.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_pos_y_node_24.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_pos_y_node_24.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_pos_y_node_24.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_pos_y_node_24.add(Dense(1))
CNN_LSTM_Model_pos_y_node_24.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_speed_node_24 = Sequential()
CNN_LSTM_Model_speed_node_24.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_speed_node_24.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_speed_node_24.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_speed_node_24.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_speed_node_24.add(Dense(1))
CNN_LSTM_Model_speed_node_24.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_energy_node_24 = Sequential()
CNN_LSTM_Model_energy_node_24.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_energy_node_24.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_energy_node_24.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_energy_node_24.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_energy_node_24.add(Dense(1))
CNN_LSTM_Model_energy_node_24.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_pos_x_node_33 = Sequential()
CNN_LSTM_Model_pos_x_node_33.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_pos_x_node_33.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_pos_x_node_33.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_pos_x_node_33.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_pos_x_node_33.add(Dense(1))
CNN_LSTM_Model_pos_x_node_33.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_pos_y_node_33 = Sequential()
CNN_LSTM_Model_pos_y_node_33.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_pos_y_node_33.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_pos_y_node_33.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_pos_y_node_33.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_pos_y_node_33.add(Dense(1))
CNN_LSTM_Model_pos_y_node_33.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_speed_node_33 = Sequential()
CNN_LSTM_Model_speed_node_33.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_speed_node_33.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_speed_node_33.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_speed_node_33.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_speed_node_33.add(Dense(1))
CNN_LSTM_Model_speed_node_33.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_energy_node_33 = Sequential()
CNN_LSTM_Model_energy_node_33.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_energy_node_33.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_energy_node_33.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_energy_node_33.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_energy_node_33.add(Dense(1))
CNN_LSTM_Model_energy_node_33.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_pos_x_node_48 = Sequential()
CNN_LSTM_Model_pos_x_node_48.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_pos_x_node_48.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_pos_x_node_48.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_pos_x_node_48.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_pos_x_node_48.add(Dense(1))
CNN_LSTM_Model_pos_x_node_48.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_pos_y_node_48 = Sequential()
CNN_LSTM_Model_pos_y_node_48.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_pos_y_node_48.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_pos_y_node_48.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_pos_y_node_48.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_pos_y_node_48.add(Dense(1))
CNN_LSTM_Model_pos_y_node_48.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_speed_node_48 = Sequential()
CNN_LSTM_Model_speed_node_48.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_speed_node_48.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_speed_node_48.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_speed_node_48.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_speed_node_48.add(Dense(1))
CNN_LSTM_Model_speed_node_48.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_energy_node_48 = Sequential()
CNN_LSTM_Model_energy_node_48.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_energy_node_48.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_energy_node_48.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_energy_node_48.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_energy_node_48.add(Dense(1))
CNN_LSTM_Model_energy_node_48.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_pos_x_node_7.fit(X_training_data_reshaped_cnn_node_7,y_training_data_pos_x_node_7,validation_data=(X_testing_data_reshaped_cnn_node_7,y_testing_data_pos_x_node_7),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_pos_y_node_7.fit(X_training_data_reshaped_cnn_node_7,y_training_data_pos_y_node_7,validation_data=(X_testing_data_reshaped_cnn_node_7,y_testing_data_pos_y_node_7),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_speed_node_7.fit(X_training_data_reshaped_cnn_node_7,y_training_data_speed_node_7,validation_data=(X_testing_data_reshaped_cnn_node_7,y_testing_data_speed_node_7),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_energy_node_7.fit(X_training_data_reshaped_cnn_node_7,y_training_data_energy_node_7,validation_data=(X_testing_data_reshaped_cnn_node_7,y_testing_data_energy_node_7),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_pos_x_node_15.fit(X_training_data_reshaped_cnn_node_15,y_training_data_pos_x_node_15,validation_data=(X_testing_data_reshaped_cnn_node_15,y_testing_data_pos_x_node_15),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_pos_y_node_15.fit(X_training_data_reshaped_cnn_node_15,y_training_data_pos_y_node_15,validation_data=(X_testing_data_reshaped_cnn_node_15,y_testing_data_pos_y_node_15),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_speed_node_15.fit(X_training_data_reshaped_cnn_node_15,y_training_data_speed_node_15,validation_data=(X_testing_data_reshaped_cnn_node_15,y_testing_data_speed_node_15),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_energy_node_15.fit(X_training_data_reshaped_cnn_node_15,y_training_data_energy_node_15,validation_data=(X_testing_data_reshaped_cnn_node_15,y_testing_data_energy_node_15),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_pos_x_node_24.fit(X_training_data_reshaped_cnn_node_24,y_training_data_pos_x_node_24,validation_data=(X_testing_data_reshaped_cnn_node_24,y_testing_data_pos_x_node_24),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_pos_y_node_24.fit(X_training_data_reshaped_cnn_node_24,y_training_data_pos_y_node_24,validation_data=(X_testing_data_reshaped_cnn_node_24,y_testing_data_pos_y_node_24),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_speed_node_24.fit(X_training_data_reshaped_cnn_node_24,y_training_data_speed_node_24,validation_data=(X_testing_data_reshaped_cnn_node_24,y_testing_data_speed_node_24),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_energy_node_24.fit(X_training_data_reshaped_cnn_node_24,y_training_data_energy_node_24,validation_data=(X_testing_data_reshaped_cnn_node_24,y_testing_data_energy_node_24),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_pos_x_node_33.fit(X_training_data_reshaped_cnn_node_33,y_training_data_pos_x_node_33,validation_data=(X_testing_data_reshaped_cnn_node_33,y_testing_data_pos_x_node_33),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_pos_y_node_33.fit(X_training_data_reshaped_cnn_node_33,y_training_data_pos_y_node_33,validation_data=(X_testing_data_reshaped_cnn_node_33,y_testing_data_pos_y_node_33),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_speed_node_33.fit(X_training_data_reshaped_cnn_node_33,y_training_data_speed_node_33,validation_data=(X_testing_data_reshaped_cnn_node_33,y_testing_data_speed_node_33),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_energy_node_33.fit(X_training_data_reshaped_cnn_node_33,y_training_data_energy_node_33,validation_data=(X_testing_data_reshaped_cnn_node_33,y_testing_data_energy_node_33),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_pos_x_node_48.fit(X_training_data_reshaped_cnn_node_48,y_training_data_pos_x_node_48,validation_data=(X_testing_data_reshaped_cnn_node_48,y_testing_data_pos_x_node_48),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_pos_y_node_48.fit(X_training_data_reshaped_cnn_node_48,y_training_data_pos_y_node_48,validation_data=(X_testing_data_reshaped_cnn_node_48,y_testing_data_pos_y_node_48),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_speed_node_48.fit(X_training_data_reshaped_cnn_node_48,y_training_data_speed_node_48,validation_data=(X_testing_data_reshaped_cnn_node_48,y_testing_data_speed_node_48),epochs=5,batch_size=10,verbose=1)
CNN_LSTM_Model_energy_node_48.fit(X_training_data_reshaped_cnn_node_48,y_training_data_energy_node_48,validation_data=(X_testing_data_reshaped_cnn_node_48,y_testing_data_energy_node_48),epochs=5,batch_size=10,verbose=1)
Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 36575.6923 - val_loss: 15598.2695 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 10712.0269 - val_loss: 3452.7930 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 3669.6389 - val_loss: 2837.0581 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 3191.9579 - val_loss: 2249.0068 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 2481.8564 - val_loss: 1716.0476 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 43568.4145 - val_loss: 13012.7236 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 15493.4124 - val_loss: 2764.1025 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 7682.2213 - val_loss: 2805.1321 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 7314.3166 - val_loss: 2854.9714 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 7373.7084 - val_loss: 2907.3884 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 11.3992 - val_loss: 3.7479 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 2.3623 - val_loss: 0.9895 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 1.9000 - val_loss: 0.7032 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 1.9483 - val_loss: 0.6894 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 1.7740 - val_loss: 0.7043 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 288887.1124 - val_loss: 9273.8984 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 159299.0213 - val_loss: 103702.3203 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 106000.8275 - val_loss: 108734.1250 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 101152.5813 - val_loss: 96362.3984 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 101332.2488 - val_loss: 92651.7109 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 57946.8858 - val_loss: 7179.5469 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 11063.8689 - val_loss: 6582.4004 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 5459.9354 - val_loss: 6161.2886 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 4438.3430 - val_loss: 8423.9580 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 3350.9348 - val_loss: 9283.4736 Epoch 1/5 195/195 [==============================] - 2s 4ms/step - loss: 64508.5843 - val_loss: 14198.4160 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 11904.0326 - val_loss: 2710.7808 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 2748.5283 - val_loss: 2824.1360 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 2514.5690 - val_loss: 2850.3262 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 2252.1726 - val_loss: 3115.8689 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 5.5322 - val_loss: 2.0038 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 3.3545 - val_loss: 2.5014 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 2.9708 - val_loss: 2.2661 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 3.0467 - val_loss: 1.4595 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 3.2454 - val_loss: 3.1864 Epoch 1/5 195/195 [==============================] - 3s 5ms/step - loss: 524107.4664 - val_loss: 201639.4531 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 338335.2396 - val_loss: 158860.6562 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 213917.1641 - val_loss: 131236.9531 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 147851.4304 - val_loss: 10493.8770 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 91921.0114 - val_loss: 14267.1270 Epoch 1/5 195/195 [==============================] - 8s 4ms/step - loss: 104700.4274 - val_loss: 46962.3828 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 36271.4454 - val_loss: 7074.0283 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 11635.8842 - val_loss: 7324.3828 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 11421.2415 - val_loss: 7338.1011 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 11312.0689 - val_loss: 6852.4214 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 21623.5376 - val_loss: 9800.3223 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 6702.9368 - val_loss: 9797.9688 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 6054.5557 - val_loss: 9856.6074 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 5999.8479 - val_loss: 9099.5137 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 5735.4621 - val_loss: 9013.6094 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 7.5672 - val_loss: 4.3287 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 1.0201 - val_loss: 4.0835 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 0.9756 - val_loss: 4.6023 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 0.9116 - val_loss: 3.2968 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 0.9767 - val_loss: 3.2129 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 2458389.2589 - val_loss: 867205.0000 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 1852895.0089 - val_loss: 276677.6562 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 503290.6060 - val_loss: 617149.1875 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 178635.2850 - val_loss: 736801.1250 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 178838.8390 - val_loss: 715672.3750 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 82778.6514 - val_loss: 14412.5703 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 20420.2495 - val_loss: 10987.3379 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 11830.3939 - val_loss: 10336.1973 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 11485.6343 - val_loss: 11016.7314 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 11892.2322 - val_loss: 10623.4062 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 76344.8592 - val_loss: 29675.7969 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 19027.3141 - val_loss: 7708.1348 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 4093.1917 - val_loss: 7450.3511 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 4157.4208 - val_loss: 7509.2197 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 4056.9270 - val_loss: 6989.2749 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 6.2778 - val_loss: 3.9389 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 2.2533 - val_loss: 6.1296 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 1.5167 - val_loss: 7.7376 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 1.3283 - val_loss: 6.8389 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 1.3598 - val_loss: 7.0241 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 742676.5179 - val_loss: 190987.5938 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 477861.5403 - val_loss: 83102.7656 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 106062.8286 - val_loss: 240018.8906 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 68934.6304 - val_loss: 233275.1875 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 67057.4847 - val_loss: 249259.8281 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 152703.4107 - val_loss: 91094.0312 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 70858.2060 - val_loss: 1469.0577 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 1786.7477 - val_loss: 4630.2612 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 1073.3880 - val_loss: 4352.5542 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 972.5255 - val_loss: 4142.9722 Epoch 1/5 195/195 [==============================] - 2s 4ms/step - loss: 21694.9209 - val_loss: 852.8776 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 633.4322 - val_loss: 640.5539 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 250.0851 - val_loss: 595.0905 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 209.6883 - val_loss: 483.5623 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 169.5584 - val_loss: 414.2817 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 11.9806 - val_loss: 5.5874 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 3.3884 - val_loss: 9.8145 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 2.5301 - val_loss: 12.3391 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 2.4744 - val_loss: 14.6709 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 2.3906 - val_loss: 14.9244 Epoch 1/5 195/195 [==============================] - 3s 4ms/step - loss: 4153653.1735 - val_loss: 245973.1406 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 3147486.2895 - val_loss: 298304.4375 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 920004.5877 - val_loss: 2006818.8750 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 456916.8182 - val_loss: 2276534.2500 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 460389.6584 - val_loss: 2302107.5000
<tensorflow.python.keras.callbacks.History at 0x1955c878d90>
train_predict_CNN_LSTM_Model_pos_x_node_7 = CNN_LSTM_Model_pos_x_node_7.predict(X_training_data_reshaped_cnn_node_7)
test_predict_CNN_LSTM_Model_pos_x_node_7 = CNN_LSTM_Model_pos_x_node_7.predict(X_testing_data_reshaped_cnn_node_7)
train_predict_CNN_LSTM_Model_pos_y_node_7 = CNN_LSTM_Model_pos_y_node_7.predict(X_training_data_reshaped_cnn_node_7)
test_predict_CNN_LSTM_Model_pos_y_node_7 = CNN_LSTM_Model_pos_y_node_7.predict(X_testing_data_reshaped_cnn_node_7)
train_predict_CNN_LSTM_Model_speed_node_7 = CNN_LSTM_Model_speed_node_7.predict(X_training_data_reshaped_cnn_node_7)
test_predict_CNN_LSTM_Model_speed_node_7 = CNN_LSTM_Model_speed_node_7.predict(X_testing_data_reshaped_cnn_node_7)
train_predict_CNN_LSTM_Model_energy_node_7 = CNN_LSTM_Model_energy_node_7.predict(X_training_data_reshaped_cnn_node_7)
test_predict_CNN_LSTM_Model_energy_node_7 = CNN_LSTM_Model_energy_node_7.predict(X_testing_data_reshaped_cnn_node_7)
train_predict_CNN_LSTM_Model_pos_x_node_15 = CNN_LSTM_Model_pos_x_node_15.predict(X_training_data_reshaped_cnn_node_15)
test_predict_CNN_LSTM_Model_pos_x_node_15 = CNN_LSTM_Model_pos_x_node_15.predict(X_testing_data_reshaped_cnn_node_15)
train_predict_CNN_LSTM_Model_pos_y_node_15 = CNN_LSTM_Model_pos_y_node_15.predict(X_training_data_reshaped_cnn_node_15)
test_predict_CNN_LSTM_Model_pos_y_node_15 = CNN_LSTM_Model_pos_y_node_15.predict(X_testing_data_reshaped_cnn_node_15)
train_predict_CNN_LSTM_Model_speed_node_15 = CNN_LSTM_Model_speed_node_15.predict(X_training_data_reshaped_cnn_node_15)
test_predict_CNN_LSTM_Model_speed_node_15 = CNN_LSTM_Model_speed_node_15.predict(X_testing_data_reshaped_cnn_node_15)
train_predict_CNN_LSTM_Model_energy_node_15 = CNN_LSTM_Model_energy_node_15.predict(X_training_data_reshaped_cnn_node_15)
test_predict_CNN_LSTM_Model_energy_node_15 = CNN_LSTM_Model_energy_node_15.predict(X_testing_data_reshaped_cnn_node_15)
train_predict_CNN_LSTM_Model_pos_x_node_24 = CNN_LSTM_Model_pos_x_node_24.predict(X_training_data_reshaped_cnn_node_24)
test_predict_CNN_LSTM_Model_pos_x_node_24 = CNN_LSTM_Model_pos_x_node_24.predict(X_testing_data_reshaped_cnn_node_24)
train_predict_CNN_LSTM_Model_pos_y_node_24 = CNN_LSTM_Model_pos_y_node_24.predict(X_training_data_reshaped_cnn_node_24)
test_predict_CNN_LSTM_Model_pos_y_node_24 = CNN_LSTM_Model_pos_y_node_24.predict(X_testing_data_reshaped_cnn_node_24)
train_predict_CNN_LSTM_Model_speed_node_24 = CNN_LSTM_Model_speed_node_24.predict(X_training_data_reshaped_cnn_node_24)
test_predict_CNN_LSTM_Model_speed_node_24 = CNN_LSTM_Model_speed_node_24.predict(X_testing_data_reshaped_cnn_node_24)
train_predict_CNN_LSTM_Model_energy_node_24 = CNN_LSTM_Model_energy_node_24.predict(X_training_data_reshaped_cnn_node_24)
test_predict_CNN_LSTM_Model_energy_node_24 = CNN_LSTM_Model_energy_node_24.predict(X_testing_data_reshaped_cnn_node_24)
train_predict_CNN_LSTM_Model_pos_x_node_33 = CNN_LSTM_Model_pos_x_node_33.predict(X_training_data_reshaped_cnn_node_33)
test_predict_CNN_LSTM_Model_pos_x_node_33 = CNN_LSTM_Model_pos_x_node_33.predict(X_testing_data_reshaped_cnn_node_33)
train_predict_CNN_LSTM_Model_pos_y_node_33 = CNN_LSTM_Model_pos_y_node_33.predict(X_training_data_reshaped_cnn_node_33)
test_predict_CNN_LSTM_Model_pos_y_node_33 = CNN_LSTM_Model_pos_y_node_33.predict(X_testing_data_reshaped_cnn_node_33)
train_predict_CNN_LSTM_Model_speed_node_33 = CNN_LSTM_Model_speed_node_33.predict(X_training_data_reshaped_cnn_node_33)
test_predict_CNN_LSTM_Model_speed_node_33 = CNN_LSTM_Model_speed_node_33.predict(X_testing_data_reshaped_cnn_node_33)
train_predict_CNN_LSTM_Model_energy_node_33 = CNN_LSTM_Model_energy_node_33.predict(X_training_data_reshaped_cnn_node_33)
test_predict_CNN_LSTM_Model_energy_node_33 = CNN_LSTM_Model_energy_node_33.predict(X_testing_data_reshaped_cnn_node_33)
train_predict_CNN_LSTM_Model_pos_x_node_48 = CNN_LSTM_Model_pos_x_node_48.predict(X_training_data_reshaped_cnn_node_48)
test_predict_CNN_LSTM_Model_pos_x_node_48 = CNN_LSTM_Model_pos_x_node_48.predict(X_testing_data_reshaped_cnn_node_48)
train_predict_CNN_LSTM_Model_pos_y_node_48 = CNN_LSTM_Model_pos_y_node_48.predict(X_training_data_reshaped_cnn_node_48)
test_predict_CNN_LSTM_Model_pos_y_node_48 = CNN_LSTM_Model_pos_y_node_48.predict(X_testing_data_reshaped_cnn_node_48)
train_predict_CNN_LSTM_Model_speed_node_48 = CNN_LSTM_Model_speed_node_48.predict(X_training_data_reshaped_cnn_node_48)
test_predict_CNN_LSTM_Model_speed_node_48 = CNN_LSTM_Model_speed_node_48.predict(X_testing_data_reshaped_cnn_node_48)
train_predict_CNN_LSTM_Model_energy_node_48 = CNN_LSTM_Model_energy_node_48.predict(X_training_data_reshaped_cnn_node_48)
test_predict_CNN_LSTM_Model_energy_node_48 = CNN_LSTM_Model_energy_node_48.predict(X_testing_data_reshaped_cnn_node_48)
print("\n\nRMSE on Training Data by CNN LSTM: ")
print("======================================\n\n")
print("\n\nRMSE of Node 7: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_7,train_predict_CNN_LSTM_Model_pos_x_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_7,train_predict_CNN_LSTM_Model_pos_y_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_7,train_predict_CNN_LSTM_Model_speed_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_7,train_predict_CNN_LSTM_Model_energy_node_7)))
print("\n\nRMSE of Node 15: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_15,train_predict_CNN_LSTM_Model_pos_x_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_15,train_predict_CNN_LSTM_Model_pos_y_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_15,train_predict_CNN_LSTM_Model_speed_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_15,train_predict_CNN_LSTM_Model_energy_node_15)))
print("\n\nRMSE of Node 24: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_24,train_predict_CNN_LSTM_Model_pos_x_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_24,train_predict_CNN_LSTM_Model_pos_y_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_24,train_predict_CNN_LSTM_Model_speed_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_24,train_predict_CNN_LSTM_Model_energy_node_24)))
print("\n\nRMSE of Node 33: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_33,train_predict_CNN_LSTM_Model_pos_x_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_33,train_predict_CNN_LSTM_Model_pos_y_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_33,train_predict_CNN_LSTM_Model_speed_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_33,train_predict_CNN_LSTM_Model_energy_node_33)))
print("\n\nRMSE of Node 48: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_48,train_predict_CNN_LSTM_Model_pos_x_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_48,train_predict_CNN_LSTM_Model_pos_y_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_48,train_predict_CNN_LSTM_Model_speed_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_48,train_predict_CNN_LSTM_Model_energy_node_48)))
print("\n\nRMSE on Testing Data by CNN LSTM: ")
print("=====================================\n\n")
print("\n\nRMSE of Node 7: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_pos_x_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_CNN_LSTM_Model_pos_y_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_CNN_LSTM_Model_speed_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_CNN_LSTM_Model_energy_node_7)))
print("\n\nRMSE of Node 15: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_pos_x_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_CNN_LSTM_Model_pos_y_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_CNN_LSTM_Model_speed_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_CNN_LSTM_Model_energy_node_15)))
print("\n\nRMSE of Node 24: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_pos_x_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_24,test_predict_CNN_LSTM_Model_pos_y_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_CNN_LSTM_Model_speed_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_CNN_LSTM_Model_energy_node_24)))
print("\n\nRMSE of Node 33: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_pos_x_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_CNN_LSTM_Model_pos_y_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_CNN_LSTM_Model_speed_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_CNN_LSTM_Model_energy_node_33)))
print("\n\nRMSE of Node 48: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_pos_x_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_CNN_LSTM_Model_pos_y_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_CNN_LSTM_Model_speed_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_CNN_LSTM_Model_energy_node_48)))
RMSE on Training Data by CNN LSTM: ====================================== RMSE of Node 7: ====================================== 44.27740260979573 85.98844216927282 1.3822038122304854 314.91651043357507 RMSE of Node 15: ====================================== 49.82256958992373 46.06200309055076 1.7817174242640255 305.12781177145473 RMSE of Node 24: ====================================== 108.32741654497529 75.94358036109008 0.9826718584483183 421.7861565219292 RMSE of Node 33: ====================================== 107.71871353117449 61.1521486886184 1.1375845089767747 259.37102207162746 RMSE of Node 48: ====================================== 30.44224059411331 12.46263549416015 1.5621824086215996 683.6896039399132 RMSE on Testing Data by CNN LSTM: ===================================== RMSE of Node 7: ====================================== 41.42521368851659 53.92020967961218 0.8392285797671369 304.38738333529415 RMSE of Node 15: ====================================== 96.3507495509225 55.81996695241883 1.785049553037206 119.44507918527674 RMSE of Node 24: ====================================== 82.77935328590216 94.94003132283116 1.7924455355735254 845.9742692550271 RMSE of Node 33: ====================================== 103.06990579867387 83.60188222900314 2.65029331668349 499.25925813945594 RMSE of Node 48: ====================================== 64.3659207800162 20.353913128691545 3.863205652102362 1517.2697593171383
print("\n\nGraph of Node 7: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_7)
plt.plot(test_predict_CNN_LSTM_Model_pos_x_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_7)
plt.plot(test_predict_CNN_LSTM_Model_pos_y_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_7)
plt.plot(test_predict_CNN_LSTM_Model_speed_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_7)
plt.plot(test_predict_CNN_LSTM_Model_energy_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 15: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_15)
plt.plot(test_predict_CNN_LSTM_Model_pos_x_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_15)
plt.plot(test_predict_CNN_LSTM_Model_pos_y_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_15)
plt.plot(test_predict_CNN_LSTM_Model_speed_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_15)
plt.plot(test_predict_CNN_LSTM_Model_energy_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 24: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_24)
plt.plot(test_predict_CNN_LSTM_Model_pos_x_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_24)
plt.plot(test_predict_CNN_LSTM_Model_pos_y_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_24)
plt.plot(test_predict_CNN_LSTM_Model_speed_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_24)
plt.plot(test_predict_CNN_LSTM_Model_energy_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 33: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_33)
plt.plot(test_predict_CNN_LSTM_Model_pos_x_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_33)
plt.plot(test_predict_CNN_LSTM_Model_pos_y_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_33)
plt.plot(test_predict_CNN_LSTM_Model_speed_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_33)
plt.plot(test_predict_CNN_LSTM_Model_energy_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 48: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_48)
plt.plot(test_predict_CNN_LSTM_Model_pos_x_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_48)
plt.plot(test_predict_CNN_LSTM_Model_pos_y_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_48)
plt.plot(test_predict_CNN_LSTM_Model_speed_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_48)
plt.plot(test_predict_CNN_LSTM_Model_energy_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
Graph of Node 7: ======================================
Graph of Node 15: ======================================
Graph of Node 24: ======================================
Graph of Node 33: ======================================
Graph of Node 48: ======================================
LSTM_Model_pos_x_node_7 = Sequential()
LSTM_Model_pos_x_node_7.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_pos_x_node_7.add(Dense(1))
LSTM_Model_pos_x_node_7.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_pos_y_node_7 = Sequential()
LSTM_Model_pos_y_node_7.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_pos_y_node_7.add(Dense(1))
LSTM_Model_pos_y_node_7.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_speed_node_7 = Sequential()
LSTM_Model_speed_node_7.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_speed_node_7.add(Dense(1))
LSTM_Model_speed_node_7.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_energy_node_7 = Sequential()
LSTM_Model_energy_node_7.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_energy_node_7.add(Dense(1))
LSTM_Model_energy_node_7.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_pos_x_node_15 = Sequential()
LSTM_Model_pos_x_node_15.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_pos_x_node_15.add(Dense(1))
LSTM_Model_pos_x_node_15.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_pos_y_node_15 = Sequential()
LSTM_Model_pos_y_node_15.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_pos_y_node_15.add(Dense(1))
LSTM_Model_pos_y_node_15.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_speed_node_15 = Sequential()
LSTM_Model_speed_node_15.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_speed_node_15.add(Dense(1))
LSTM_Model_speed_node_15.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_energy_node_15 = Sequential()
LSTM_Model_energy_node_15.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_energy_node_15.add(Dense(1))
LSTM_Model_energy_node_15.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_pos_x_node_24 = Sequential()
LSTM_Model_pos_x_node_24.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_pos_x_node_24.add(Dense(1))
LSTM_Model_pos_x_node_24.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_pos_y_node_24 = Sequential()
LSTM_Model_pos_y_node_24.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_pos_y_node_24.add(Dense(1))
LSTM_Model_pos_y_node_24.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_speed_node_24 = Sequential()
LSTM_Model_speed_node_24.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_speed_node_24.add(Dense(1))
LSTM_Model_speed_node_24.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_energy_node_24 = Sequential()
LSTM_Model_energy_node_24.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_energy_node_24.add(Dense(1))
LSTM_Model_energy_node_24.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_pos_x_node_33 = Sequential()
LSTM_Model_pos_x_node_33.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_pos_x_node_33.add(Dense(1))
LSTM_Model_pos_x_node_33.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_pos_y_node_33 = Sequential()
LSTM_Model_pos_y_node_33.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_pos_y_node_33.add(Dense(1))
LSTM_Model_pos_y_node_33.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_speed_node_33 = Sequential()
LSTM_Model_speed_node_33.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_speed_node_33.add(Dense(1))
LSTM_Model_speed_node_33.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_energy_node_33 = Sequential()
LSTM_Model_energy_node_33.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_energy_node_33.add(Dense(1))
LSTM_Model_energy_node_33.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_pos_x_node_48 = Sequential()
LSTM_Model_pos_x_node_48.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_pos_x_node_48.add(Dense(1))
LSTM_Model_pos_x_node_48.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_pos_y_node_48 = Sequential()
LSTM_Model_pos_y_node_48.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_pos_y_node_48.add(Dense(1))
LSTM_Model_pos_y_node_48.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_speed_node_48 = Sequential()
LSTM_Model_speed_node_48.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_speed_node_48.add(Dense(1))
LSTM_Model_speed_node_48.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_energy_node_48 = Sequential()
LSTM_Model_energy_node_48.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_energy_node_48.add(Dense(1))
LSTM_Model_energy_node_48.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_pos_x_node_7.fit(X_training_data_reshaped_node_7,y_training_data_pos_x_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_pos_x_node_7),epochs=5,batch_size=10,verbose=1)
LSTM_Model_pos_y_node_7.fit(X_training_data_reshaped_node_7,y_training_data_pos_y_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_pos_y_node_7),epochs=5,batch_size=10,verbose=1)
LSTM_Model_speed_node_7.fit(X_training_data_reshaped_node_7,y_training_data_speed_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_speed_node_7),epochs=5,batch_size=10,verbose=1)
LSTM_Model_energy_node_7.fit(X_training_data_reshaped_node_7,y_training_data_energy_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_energy_node_7),epochs=5,batch_size=10,verbose=1)
LSTM_Model_pos_x_node_15.fit(X_training_data_reshaped_node_15,y_training_data_pos_x_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_pos_x_node_15),epochs=5,batch_size=10,verbose=1)
LSTM_Model_pos_y_node_15.fit(X_training_data_reshaped_node_15,y_training_data_pos_y_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_pos_y_node_15),epochs=5,batch_size=10,verbose=1)
LSTM_Model_speed_node_15.fit(X_training_data_reshaped_node_15,y_training_data_speed_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_speed_node_15),epochs=5,batch_size=10,verbose=1)
LSTM_Model_energy_node_15.fit(X_training_data_reshaped_node_15,y_training_data_energy_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_energy_node_15),epochs=5,batch_size=10,verbose=1)
LSTM_Model_pos_x_node_24.fit(X_training_data_reshaped_node_24,y_training_data_pos_x_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_pos_x_node_24),epochs=5,batch_size=10,verbose=1)
LSTM_Model_pos_y_node_24.fit(X_training_data_reshaped_node_24,y_training_data_pos_y_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_pos_y_node_24),epochs=5,batch_size=10,verbose=1)
LSTM_Model_speed_node_24.fit(X_training_data_reshaped_node_24,y_training_data_speed_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_speed_node_24),epochs=5,batch_size=10,verbose=1)
LSTM_Model_energy_node_24.fit(X_training_data_reshaped_node_24,y_training_data_energy_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_energy_node_24),epochs=5,batch_size=10,verbose=1)
LSTM_Model_pos_x_node_33.fit(X_training_data_reshaped_node_33,y_training_data_pos_x_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_pos_x_node_33),epochs=5,batch_size=10,verbose=1)
LSTM_Model_pos_y_node_33.fit(X_training_data_reshaped_node_33,y_training_data_pos_y_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_pos_y_node_33),epochs=5,batch_size=10,verbose=1)
LSTM_Model_speed_node_33.fit(X_training_data_reshaped_node_33,y_training_data_speed_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_speed_node_33),epochs=5,batch_size=10,verbose=1)
LSTM_Model_energy_node_33.fit(X_training_data_reshaped_node_33,y_training_data_energy_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_energy_node_33),epochs=5,batch_size=10,verbose=1)
LSTM_Model_pos_x_node_48.fit(X_training_data_reshaped_node_48,y_training_data_pos_x_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_pos_x_node_48),epochs=5,batch_size=10,verbose=1)
LSTM_Model_pos_y_node_48.fit(X_training_data_reshaped_node_48,y_training_data_pos_y_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_pos_y_node_48),epochs=5,batch_size=10,verbose=1)
LSTM_Model_speed_node_48.fit(X_training_data_reshaped_node_48,y_training_data_speed_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_speed_node_48),epochs=5,batch_size=10,verbose=1)
LSTM_Model_energy_node_48.fit(X_training_data_reshaped_node_48,y_training_data_energy_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_energy_node_48),epochs=5,batch_size=10,verbose=1)
Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 35182.6694 - val_loss: 24429.8555 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 30740.9836 - val_loss: 21501.4004 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 27386.2439 - val_loss: 19056.5898 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 23749.0915 - val_loss: 16918.5371 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 21274.1474 - val_loss: 15038.0869 Epoch 1/5 195/195 [==============================] - 4s 8ms/step - loss: 43985.8622 - val_loss: 22304.0488 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 37979.5275 - val_loss: 19242.8203 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 35827.0654 - val_loss: 16710.5156 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 31942.3797 - val_loss: 14490.9531 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 28633.0828 - val_loss: 12528.5264 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 11.3619 - val_loss: 9.5855 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 3.7902 - val_loss: 3.5774 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 0.9898 - val_loss: 0.6237 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 0.3182 - val_loss: 0.6054 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 0.3519 - val_loss: 0.4569 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 291540.0808 - val_loss: 1318.8726 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 261244.9174 - val_loss: 1676.5048 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 272830.8835 - val_loss: 2211.7000 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 255749.5774 - val_loss: 2916.8225 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 251041.2866 - val_loss: 3781.1055 Epoch 1/5 195/195 [==============================] - 11s 8ms/step - loss: 59813.0503 - val_loss: 33103.5312 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 50971.0870 - val_loss: 29334.9824 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 47142.3497 - val_loss: 26127.1992 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 42604.3245 - val_loss: 23272.9434 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 39292.3979 - val_loss: 20680.1113 Epoch 1/5 195/195 [==============================] - 4s 8ms/step - loss: 66279.8005 - val_loss: 45971.4414 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 55193.5110 - val_loss: 41278.4219 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 50086.7369 - val_loss: 37247.1758 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 45345.3784 - val_loss: 33585.2227 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 42002.3566 - val_loss: 30239.9492 Epoch 1/5 195/195 [==============================] - 4s 8ms/step - loss: 6.6543 - val_loss: 6.0010 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 2.9416 - val_loss: 0.6327 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 0.1998 - val_loss: 0.5288 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 0.2241 - val_loss: 0.4368 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 0.1489 - val_loss: 0.5380 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 536140.9523 - val_loss: 249244.1406 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 484845.8940 - val_loss: 243371.0156 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 469993.9294 - val_loss: 238164.3906 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 454211.6398 - val_loss: 233384.0000 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 433587.7942 - val_loss: 228884.0938 Epoch 1/5 195/195 [==============================] - 3s 6ms/step - loss: 104099.3585 - val_loss: 85993.7188 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 92954.4725 - val_loss: 79976.2578 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 87453.0656 - val_loss: 74732.8906 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 82116.6186 - val_loss: 69917.8984 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 76163.9015 - val_loss: 65444.8438 Epoch 1/5 195/195 [==============================] - 3s 6ms/step - loss: 22461.9986 - val_loss: 17519.4375 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 16596.0688 - val_loss: 15433.6035 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 15110.3606 - val_loss: 13817.2930 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 13400.2462 - val_loss: 12490.9131 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 12179.2534 - val_loss: 11379.1738 Epoch 1/5 195/195 [==============================] - 3s 6ms/step - loss: 7.4695 - val_loss: 7.0477 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 1.4245 - val_loss: 5.9705 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 1.0566 - val_loss: 1.8649 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 0.2270 - val_loss: 1.2965 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 0.1320 - val_loss: 1.4979 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 2446364.8202 - val_loss: 1038951.2500 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 2401367.2793 - val_loss: 1019710.3125 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 2343997.1531 - val_loss: 1002041.0625 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 2294950.0969 - val_loss: 985158.3125 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 2346664.7621 - val_loss: 968737.6875 Epoch 1/5 195/195 [==============================] - 3s 6ms/step - loss: 83741.9201 - val_loss: 52719.0117 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 75595.6241 - val_loss: 47987.8633 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 68269.5701 - val_loss: 43919.5977 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 63555.1075 - val_loss: 40209.8281 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 61847.9472 - val_loss: 36812.2734 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 77468.5371 - val_loss: 65267.9805 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 68126.3045 - val_loss: 59999.3242 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 62550.3760 - val_loss: 55408.0898 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 58133.9963 - val_loss: 51220.7773 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 53647.6385 - val_loss: 47336.2500 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 6.6522 - val_loss: 2.1142 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 3.3962 - val_loss: 1.3708 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 0.8517 - val_loss: 1.2348 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 0.1970 - val_loss: 0.8768 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 0.1792 - val_loss: 1.1516 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 758419.3925 - val_loss: 259180.2344 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 722424.5188 - val_loss: 249628.7656 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 694539.9072 - val_loss: 241160.2188 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 708839.1298 - val_loss: 233215.8438 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 670325.7379 - val_loss: 225654.9062 Epoch 1/5 195/195 [==============================] - 3s 6ms/step - loss: 153450.9161 - val_loss: 130936.5625 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 137768.4483 - val_loss: 122710.9453 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 129965.2486 - val_loss: 115467.8359 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 122979.4569 - val_loss: 108731.0781 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 116203.9556 - val_loss: 102366.5938 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 22718.0578 - val_loss: 17438.2168 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 17104.5666 - val_loss: 14610.4551 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 14396.2013 - val_loss: 12309.4248 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 12158.5387 - val_loss: 10334.0947 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 10241.1941 - val_loss: 8622.0088 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 10.6369 - val_loss: 7.3094 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 4.2257 - val_loss: 10.4961 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 3.3376 - val_loss: 9.6487 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 1.3984 - val_loss: 3.5596 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 0.3447 - val_loss: 1.8267 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 4157306.6390 - val_loss: 408078.4062 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 4040658.8661 - val_loss: 393794.8438 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 4076566.4439 - val_loss: 380918.1875 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 4004144.1263 - val_loss: 368594.1875 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 4080549.2717 - val_loss: 356714.1250
<tensorflow.python.keras.callbacks.History at 0x195a37135e0>
train_predict_LSTM_Model_pos_x_node_7 = LSTM_Model_pos_x_node_7.predict(X_training_data_reshaped_node_7)
test_predict_LSTM_Model_pos_x_node_7 = LSTM_Model_pos_x_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_LSTM_Model_pos_y_node_7 = LSTM_Model_pos_y_node_7.predict(X_training_data_reshaped_node_7)
test_predict_LSTM_Model_pos_y_node_7 = LSTM_Model_pos_y_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_LSTM_Model_speed_node_7 = LSTM_Model_speed_node_7.predict(X_training_data_reshaped_node_7)
test_predict_LSTM_Model_speed_node_7 = LSTM_Model_speed_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_LSTM_Model_energy_node_7 = LSTM_Model_energy_node_7.predict(X_training_data_reshaped_node_7)
test_predict_LSTM_Model_energy_node_7 = LSTM_Model_energy_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_LSTM_Model_pos_x_node_15 = LSTM_Model_pos_x_node_15.predict(X_training_data_reshaped_node_15)
test_predict_LSTM_Model_pos_x_node_15 = LSTM_Model_pos_x_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_LSTM_Model_pos_y_node_15 = LSTM_Model_pos_y_node_15.predict(X_training_data_reshaped_node_15)
test_predict_LSTM_Model_pos_y_node_15 = LSTM_Model_pos_y_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_LSTM_Model_speed_node_15 = LSTM_Model_speed_node_15.predict(X_training_data_reshaped_node_15)
test_predict_LSTM_Model_speed_node_15 = LSTM_Model_speed_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_LSTM_Model_energy_node_15 = LSTM_Model_energy_node_15.predict(X_training_data_reshaped_node_15)
test_predict_LSTM_Model_energy_node_15 = LSTM_Model_energy_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_LSTM_Model_pos_x_node_24 = LSTM_Model_pos_x_node_24.predict(X_training_data_reshaped_node_24)
test_predict_LSTM_Model_pos_x_node_24 = LSTM_Model_pos_x_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_LSTM_Model_pos_y_node_24 = LSTM_Model_pos_y_node_24.predict(X_training_data_reshaped_node_24)
test_predict_LSTM_Model_pos_y_node_24 = LSTM_Model_pos_y_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_LSTM_Model_speed_node_24 = LSTM_Model_speed_node_24.predict(X_training_data_reshaped_node_24)
test_predict_LSTM_Model_speed_node_24 = LSTM_Model_speed_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_LSTM_Model_energy_node_24 = LSTM_Model_energy_node_24.predict(X_training_data_reshaped_node_24)
test_predict_LSTM_Model_energy_node_24 = LSTM_Model_energy_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_LSTM_Model_pos_x_node_33 = LSTM_Model_pos_x_node_33.predict(X_training_data_reshaped_node_33)
test_predict_LSTM_Model_pos_x_node_33 = LSTM_Model_pos_x_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_LSTM_Model_pos_y_node_33 = LSTM_Model_pos_y_node_33.predict(X_training_data_reshaped_node_33)
test_predict_LSTM_Model_pos_y_node_33 = LSTM_Model_pos_y_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_LSTM_Model_speed_node_33 = LSTM_Model_speed_node_33.predict(X_training_data_reshaped_node_33)
test_predict_LSTM_Model_speed_node_33 = LSTM_Model_speed_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_LSTM_Model_energy_node_33 = LSTM_Model_energy_node_33.predict(X_training_data_reshaped_node_33)
test_predict_LSTM_Model_energy_node_33 = LSTM_Model_energy_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_LSTM_Model_pos_x_node_48 = LSTM_Model_pos_x_node_48.predict(X_training_data_reshaped_node_48)
test_predict_LSTM_Model_pos_x_node_48 = LSTM_Model_pos_x_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_LSTM_Model_pos_y_node_48 = LSTM_Model_pos_y_node_48.predict(X_training_data_reshaped_node_48)
test_predict_LSTM_Model_pos_y_node_48 = LSTM_Model_pos_y_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_LSTM_Model_speed_node_48 = LSTM_Model_speed_node_48.predict(X_training_data_reshaped_node_48)
test_predict_LSTM_Model_speed_node_48 = LSTM_Model_speed_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_LSTM_Model_energy_node_48 = LSTM_Model_energy_node_48.predict(X_training_data_reshaped_node_48)
test_predict_LSTM_Model_energy_node_48 = LSTM_Model_energy_node_48.predict(X_testing_data_reshaped_node_48)
print("\n\nRMSE on Training Data by LSTM: ")
print("======================================\n\n")
print("\n\nRMSE of Node 7: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_7,train_predict_LSTM_Model_pos_x_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_7,train_predict_LSTM_Model_pos_y_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_7,train_predict_LSTM_Model_speed_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_7,train_predict_LSTM_Model_energy_node_7)))
print("\n\nRMSE of Node 15: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_15,train_predict_LSTM_Model_pos_x_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_15,train_predict_LSTM_Model_pos_y_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_15,train_predict_LSTM_Model_speed_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_15,train_predict_LSTM_Model_energy_node_15)))
print("\n\nRMSE of Node 24: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_24,train_predict_LSTM_Model_pos_x_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_24,train_predict_LSTM_Model_pos_y_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_24,train_predict_LSTM_Model_speed_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_24,train_predict_LSTM_Model_energy_node_24)))
print("\n\nRMSE of Node 33: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_33,train_predict_LSTM_Model_pos_x_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_33,train_predict_LSTM_Model_pos_y_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_33,train_predict_LSTM_Model_speed_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_33,train_predict_LSTM_Model_energy_node_33)))
print("\n\nRMSE of Node 48: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_48,train_predict_LSTM_Model_pos_x_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_48,train_predict_LSTM_Model_pos_y_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_48,train_predict_LSTM_Model_speed_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_48,train_predict_LSTM_Model_energy_node_48)))
print("\n\nRMSE on Testing Data by LSTM: ")
print("=====================================\n\n")
print("\n\nRMSE of Node 7: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_pos_x_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_LSTM_Model_pos_y_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_LSTM_Model_speed_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_LSTM_Model_energy_node_7)))
print("\n\nRMSE of Node 15: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_pos_x_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_LSTM_Model_pos_y_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_LSTM_Model_speed_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_LSTM_Model_energy_node_15)))
print("\n\nRMSE of Node 24: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_pos_x_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_24,test_predict_LSTM_Model_pos_y_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_LSTM_Model_speed_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_LSTM_Model_energy_node_24)))
print("\n\nRMSE of Node 33: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_pos_x_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_LSTM_Model_pos_y_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_LSTM_Model_speed_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_LSTM_Model_energy_node_33)))
print("\n\nRMSE of Node 48: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_pos_x_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_LSTM_Model_pos_y_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_LSTM_Model_speed_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_LSTM_Model_energy_node_48)))
RMSE on Training Data by LSTM: ====================================== RMSE of Node 7: ====================================== 140.99542271102305 164.05154596001034 0.5143053112011458 493.20380148496633 RMSE of Node 15: ====================================== 192.7593754202154 199.34011802129592 0.4508044410180804 675.5754523927812 RMSE of Node 24: ====================================== 269.1292482623632 104.17652685977014 0.37216207192664663 1511.3795232618725 RMSE of Node 33: ====================================== 238.03939440797305 225.1499469515692 0.41069827920017676 809.7495745913774 RMSE of Node 48: ====================================== 333.2267088208572 94.47078273879096 0.37880104836639333 1991.7495049072038 RMSE on Testing Data by LSTM: ===================================== RMSE of Node 7: ====================================== 122.62988736273873 111.93091939923399 0.6759420687072014 61.49070066779251 RMSE of Node 15: ====================================== 143.80582473763488 173.89636892905497 0.7334628834121973 478.41840458462974 RMSE of Node 24: ====================================== 255.82188337992102 106.67321693285228 1.2239059435773598 984.2447765291922 RMSE of Node 33: ====================================== 191.86525172717202 217.56895903489925 1.0731063914884176 475.03147964115055 RMSE of Node 48: ====================================== 319.9478090170709 92.85477723599958 1.351553273418894 597.2554842870163
print("\n\nGraph of Node 7: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_7)
plt.plot(test_predict_LSTM_Model_pos_x_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_7)
plt.plot(test_predict_LSTM_Model_pos_y_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_7)
plt.plot(test_predict_LSTM_Model_speed_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_7)
plt.plot(test_predict_LSTM_Model_energy_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 15: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_15)
plt.plot(test_predict_LSTM_Model_pos_x_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_15)
plt.plot(test_predict_LSTM_Model_pos_y_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_15)
plt.plot(test_predict_LSTM_Model_speed_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_15)
plt.plot(test_predict_LSTM_Model_energy_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 24: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_24)
plt.plot(test_predict_LSTM_Model_pos_x_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_24)
plt.plot(test_predict_LSTM_Model_pos_y_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_24)
plt.plot(test_predict_LSTM_Model_speed_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_24)
plt.plot(test_predict_LSTM_Model_energy_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 33: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_33)
plt.plot(test_predict_LSTM_Model_pos_x_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_33)
plt.plot(test_predict_LSTM_Model_pos_y_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_33)
plt.plot(test_predict_LSTM_Model_speed_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_33)
plt.plot(test_predict_LSTM_Model_energy_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 48: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_48)
plt.plot(test_predict_LSTM_Model_pos_x_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_48)
plt.plot(test_predict_LSTM_Model_pos_y_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_48)
plt.plot(test_predict_LSTM_Model_speed_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_48)
plt.plot(test_predict_LSTM_Model_energy_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
Graph of Node 7: ======================================
Graph of Node 15: ======================================
Graph of Node 24: ======================================
Graph of Node 33: ======================================
Graph of Node 48: ======================================
BiDirectonal_LSTM_Model_pos_x_node_7 = Sequential()
BiDirectonal_LSTM_Model_pos_x_node_7.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_pos_x_node_7.add(Dense(1))
BiDirectonal_LSTM_Model_pos_x_node_7.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_pos_y_node_7 = Sequential()
BiDirectonal_LSTM_Model_pos_y_node_7.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_pos_y_node_7.add(Dense(1))
BiDirectonal_LSTM_Model_pos_y_node_7.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_speed_node_7 = Sequential()
BiDirectonal_LSTM_Model_speed_node_7.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_speed_node_7.add(Dense(1))
BiDirectonal_LSTM_Model_speed_node_7.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_energy_node_7 = Sequential()
BiDirectonal_LSTM_Model_energy_node_7.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_energy_node_7.add(Dense(1))
BiDirectonal_LSTM_Model_energy_node_7.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_pos_x_node_15 = Sequential()
BiDirectonal_LSTM_Model_pos_x_node_15.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_pos_x_node_15.add(Dense(1))
BiDirectonal_LSTM_Model_pos_x_node_15.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_pos_y_node_15 = Sequential()
BiDirectonal_LSTM_Model_pos_y_node_15.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_pos_y_node_15.add(Dense(1))
BiDirectonal_LSTM_Model_pos_y_node_15.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_speed_node_15 = Sequential()
BiDirectonal_LSTM_Model_speed_node_15.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_speed_node_15.add(Dense(1))
BiDirectonal_LSTM_Model_speed_node_15.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_energy_node_15 = Sequential()
BiDirectonal_LSTM_Model_energy_node_15.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_energy_node_15.add(Dense(1))
BiDirectonal_LSTM_Model_energy_node_15.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_pos_x_node_24 = Sequential()
BiDirectonal_LSTM_Model_pos_x_node_24.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_pos_x_node_24.add(Dense(1))
BiDirectonal_LSTM_Model_pos_x_node_24.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_pos_y_node_24 = Sequential()
BiDirectonal_LSTM_Model_pos_y_node_24.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_pos_y_node_24.add(Dense(1))
BiDirectonal_LSTM_Model_pos_y_node_24.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_speed_node_24 = Sequential()
BiDirectonal_LSTM_Model_speed_node_24.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_speed_node_24.add(Dense(1))
BiDirectonal_LSTM_Model_speed_node_24.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_energy_node_24 = Sequential()
BiDirectonal_LSTM_Model_energy_node_24.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_energy_node_24.add(Dense(1))
BiDirectonal_LSTM_Model_energy_node_24.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_pos_x_node_33 = Sequential()
BiDirectonal_LSTM_Model_pos_x_node_33.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_pos_x_node_33.add(Dense(1))
BiDirectonal_LSTM_Model_pos_x_node_33.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_pos_y_node_33 = Sequential()
BiDirectonal_LSTM_Model_pos_y_node_33.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_pos_y_node_33.add(Dense(1))
BiDirectonal_LSTM_Model_pos_y_node_33.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_speed_node_33 = Sequential()
BiDirectonal_LSTM_Model_speed_node_33.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_speed_node_33.add(Dense(1))
BiDirectonal_LSTM_Model_speed_node_33.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_energy_node_33 = Sequential()
BiDirectonal_LSTM_Model_energy_node_33.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_energy_node_33.add(Dense(1))
BiDirectonal_LSTM_Model_energy_node_33.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_pos_x_node_48 = Sequential()
BiDirectonal_LSTM_Model_pos_x_node_48.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_pos_x_node_48.add(Dense(1))
BiDirectonal_LSTM_Model_pos_x_node_48.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_pos_y_node_48 = Sequential()
BiDirectonal_LSTM_Model_pos_y_node_48.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_pos_y_node_48.add(Dense(1))
BiDirectonal_LSTM_Model_pos_y_node_48.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_speed_node_48 = Sequential()
BiDirectonal_LSTM_Model_speed_node_48.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_speed_node_48.add(Dense(1))
BiDirectonal_LSTM_Model_speed_node_48.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_energy_node_48 = Sequential()
BiDirectonal_LSTM_Model_energy_node_48.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_energy_node_48.add(Dense(1))
BiDirectonal_LSTM_Model_energy_node_48.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_pos_x_node_7.fit(X_training_data_reshaped_node_7,y_training_data_pos_x_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_pos_x_node_7),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_pos_y_node_7.fit(X_training_data_reshaped_node_7,y_training_data_pos_y_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_pos_y_node_7),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_speed_node_7.fit(X_training_data_reshaped_node_7,y_training_data_speed_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_speed_node_7),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_energy_node_7.fit(X_training_data_reshaped_node_7,y_training_data_energy_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_energy_node_7),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_pos_x_node_15.fit(X_training_data_reshaped_node_15,y_training_data_pos_x_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_pos_x_node_15),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_pos_y_node_15.fit(X_training_data_reshaped_node_15,y_training_data_pos_y_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_pos_y_node_15),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_speed_node_15.fit(X_training_data_reshaped_node_15,y_training_data_speed_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_speed_node_15),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_energy_node_15.fit(X_training_data_reshaped_node_15,y_training_data_energy_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_energy_node_15),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_pos_x_node_24.fit(X_training_data_reshaped_node_24,y_training_data_pos_x_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_pos_x_node_24),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_pos_y_node_24.fit(X_training_data_reshaped_node_24,y_training_data_pos_y_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_pos_y_node_24),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_speed_node_24.fit(X_training_data_reshaped_node_24,y_training_data_speed_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_speed_node_24),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_energy_node_24.fit(X_training_data_reshaped_node_24,y_training_data_energy_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_energy_node_24),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_pos_x_node_33.fit(X_training_data_reshaped_node_33,y_training_data_pos_x_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_pos_x_node_33),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_pos_y_node_33.fit(X_training_data_reshaped_node_33,y_training_data_pos_y_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_pos_y_node_33),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_speed_node_33.fit(X_training_data_reshaped_node_33,y_training_data_speed_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_speed_node_33),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_energy_node_33.fit(X_training_data_reshaped_node_33,y_training_data_energy_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_energy_node_33),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_pos_x_node_48.fit(X_training_data_reshaped_node_48,y_training_data_pos_x_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_pos_x_node_48),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_pos_y_node_48.fit(X_training_data_reshaped_node_48,y_training_data_pos_y_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_pos_y_node_48),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_speed_node_48.fit(X_training_data_reshaped_node_48,y_training_data_speed_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_speed_node_48),epochs=5,batch_size=10,verbose=1)
BiDirectonal_LSTM_Model_energy_node_48.fit(X_training_data_reshaped_node_48,y_training_data_energy_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_energy_node_48),epochs=5,batch_size=10,verbose=1)
Epoch 1/5 195/195 [==============================] - 4s 5ms/step - loss: 32189.6296 - val_loss: 469.9898 Epoch 2/5 195/195 [==============================] - ETA: 0s - loss: 557.565 - 1s 3ms/step - loss: 552.8971 - val_loss: 313.9742 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 449.4431 - val_loss: 281.5842 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 337.7806 - val_loss: 251.7953 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 318.0099 - val_loss: 239.4062 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 40112.5250 - val_loss: 4384.0352 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 6920.7124 - val_loss: 3910.5327 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 6629.5243 - val_loss: 4277.4990 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 6307.6049 - val_loss: 3935.1450 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 5409.2180 - val_loss: 4917.8135 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 11.9000 - val_loss: 5.1021 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 3.0683 - val_loss: 2.8765 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 1.5816 - val_loss: 2.0943 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 0.7018 - val_loss: 0.5179 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 0.3253 - val_loss: 0.4054 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 266416.5851 - val_loss: 64872.6953 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 26904.9105 - val_loss: 42946.5117 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 8766.6962 - val_loss: 41191.3906 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 7610.6842 - val_loss: 42584.5508 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 6642.3353 - val_loss: 38463.2500 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 53720.0008 - val_loss: 18081.2949 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 1276.6769 - val_loss: 25622.8457 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 1243.9814 - val_loss: 26542.1367 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 691.8695 - val_loss: 27055.8320 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 629.3897 - val_loss: 26859.2969 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 57638.3752 - val_loss: 12430.1924 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 1265.8402 - val_loss: 8997.6777 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 1023.1906 - val_loss: 9259.2354 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 850.7094 - val_loss: 7849.6304 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 916.2834 - val_loss: 7562.3745 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 6.3294 - val_loss: 2.2895 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 3.4733 - val_loss: 1.3414 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 1.4471 - val_loss: 2.3946 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 0.4245 - val_loss: 1.0357 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 0.1782 - val_loss: 0.6638 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 477103.2903 - val_loss: 94278.5703 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 29831.4582 - val_loss: 133241.3906 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 9696.3319 - val_loss: 186774.8438 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 8647.7514 - val_loss: 161329.3750 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 6751.6569 - val_loss: 169530.5625 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 95971.4912 - val_loss: 4351.5073 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 3265.7186 - val_loss: 3410.5774 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 1840.8763 - val_loss: 4212.0820 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 1194.8577 - val_loss: 3850.4102 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 918.9136 - val_loss: 5323.2515 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 20439.4449 - val_loss: 11809.9854 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 7996.5994 - val_loss: 8305.4443 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 5624.5941 - val_loss: 2760.4106 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 1982.2739 - val_loss: 554.0029 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 1120.0890 - val_loss: 639.4811 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 8.6530 - val_loss: 6.8291 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 1.4695 - val_loss: 6.1554 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 1.3409 - val_loss: 5.5991 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 1.0273 - val_loss: 1.9767 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 0.2442 - val_loss: 0.8534 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 2293880.5204 - val_loss: 355534.3438 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 16041.1125 - val_loss: 322084.2500 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 9211.9477 - val_loss: 303243.3750 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 8533.4503 - val_loss: 270037.0000 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 9947.2975 - val_loss: 267906.0938 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 76998.6234 - val_loss: 5967.6953 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 2743.2167 - val_loss: 5013.7778 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 1705.3069 - val_loss: 3641.4001 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 1519.7831 - val_loss: 4673.7603 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 1294.9473 - val_loss: 4264.8008 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 73489.7944 - val_loss: 13156.7529 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 6320.1391 - val_loss: 10870.6426 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 5320.2287 - val_loss: 10471.4121 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 5094.8946 - val_loss: 8641.1670 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 3214.8019 - val_loss: 5393.4380 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 7.3959 - val_loss: 3.2328 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 2.7597 - val_loss: 2.6193 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 1.6203 - val_loss: 1.2921 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 0.3349 - val_loss: 1.3616 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 0.2101 - val_loss: 2.2153 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 677816.3522 - val_loss: 304007.6250 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 18113.7515 - val_loss: 291531.7812 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 9665.7165 - val_loss: 310423.4375 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 9263.9380 - val_loss: 327575.3750 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 8415.5979 - val_loss: 296727.0312 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 132177.8099 - val_loss: 6545.3784 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 3428.1380 - val_loss: 5698.7998 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 885.1409 - val_loss: 3370.7212 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 182.9489 - val_loss: 2785.7986 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 57.2493 - val_loss: 3222.5007 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 20514.2372 - val_loss: 1192.2423 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 597.2907 - val_loss: 247.9480 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 134.9969 - val_loss: 122.9966 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 25.4889 - val_loss: 62.5902 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 8.5168 - val_loss: 58.2666 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 11.8330 - val_loss: 6.3638 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 4.4394 - val_loss: 6.2951 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 3.1755 - val_loss: 5.0679 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 0.3292 - val_loss: 3.2493 Epoch 5/5 195/195 [==============================] - 1s 3ms/step - loss: 0.1387 - val_loss: 2.1511 Epoch 1/5 195/195 [==============================] - 4s 6ms/step - loss: 3898263.0855 - val_loss: 2895052.5000 Epoch 2/5 195/195 [==============================] - 1s 3ms/step - loss: 68508.8347 - val_loss: 2383130.0000 Epoch 3/5 195/195 [==============================] - 1s 3ms/step - loss: 37124.5642 - val_loss: 2324319.5000 Epoch 4/5 195/195 [==============================] - 1s 3ms/step - loss: 21975.5433 - val_loss: 2182247.5000 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 20057.3396 - val_loss: 2228157.7500
<tensorflow.python.keras.callbacks.History at 0x195fcb2cca0>
train_predict_BiDirectonal_LSTM_Model_pos_x_node_7 = BiDirectonal_LSTM_Model_pos_x_node_7.predict(X_training_data_reshaped_node_7)
test_predict_BiDirectonal_LSTM_Model_pos_x_node_7 = BiDirectonal_LSTM_Model_pos_x_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_BiDirectonal_LSTM_Model_pos_y_node_7 = BiDirectonal_LSTM_Model_pos_y_node_7.predict(X_training_data_reshaped_node_7)
test_predict_BiDirectonal_LSTM_Model_pos_y_node_7 = BiDirectonal_LSTM_Model_pos_y_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_BiDirectonal_LSTM_Model_speed_node_7 = BiDirectonal_LSTM_Model_speed_node_7.predict(X_training_data_reshaped_node_7)
test_predict_BiDirectonal_LSTM_Model_speed_node_7 = BiDirectonal_LSTM_Model_speed_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_BiDirectonal_LSTM_Model_energy_node_7 = BiDirectonal_LSTM_Model_energy_node_7.predict(X_training_data_reshaped_node_7)
test_predict_BiDirectonal_LSTM_Model_energy_node_7 = BiDirectonal_LSTM_Model_energy_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_BiDirectonal_LSTM_Model_pos_x_node_15 = BiDirectonal_LSTM_Model_pos_x_node_15.predict(X_training_data_reshaped_node_15)
test_predict_BiDirectonal_LSTM_Model_pos_x_node_15 = BiDirectonal_LSTM_Model_pos_x_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_BiDirectonal_LSTM_Model_pos_y_node_15 = BiDirectonal_LSTM_Model_pos_y_node_15.predict(X_training_data_reshaped_node_15)
test_predict_BiDirectonal_LSTM_Model_pos_y_node_15 = BiDirectonal_LSTM_Model_pos_y_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_BiDirectonal_LSTM_Model_speed_node_15 = BiDirectonal_LSTM_Model_speed_node_15.predict(X_training_data_reshaped_node_15)
test_predict_BiDirectonal_LSTM_Model_speed_node_15 = BiDirectonal_LSTM_Model_speed_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_BiDirectonal_LSTM_Model_energy_node_15 = BiDirectonal_LSTM_Model_energy_node_15.predict(X_training_data_reshaped_node_15)
test_predict_BiDirectonal_LSTM_Model_energy_node_15 = BiDirectonal_LSTM_Model_energy_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_BiDirectonal_LSTM_Model_pos_x_node_24 = BiDirectonal_LSTM_Model_pos_x_node_24.predict(X_training_data_reshaped_node_24)
test_predict_BiDirectonal_LSTM_Model_pos_x_node_24 = BiDirectonal_LSTM_Model_pos_x_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_BiDirectonal_LSTM_Model_pos_y_node_24 = BiDirectonal_LSTM_Model_pos_y_node_24.predict(X_training_data_reshaped_node_24)
test_predict_BiDirectonal_LSTM_Model_pos_y_node_24 = BiDirectonal_LSTM_Model_pos_y_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_BiDirectonal_LSTM_Model_speed_node_24 = BiDirectonal_LSTM_Model_speed_node_24.predict(X_training_data_reshaped_node_24)
test_predict_BiDirectonal_LSTM_Model_speed_node_24 = BiDirectonal_LSTM_Model_speed_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_BiDirectonal_LSTM_Model_energy_node_24 = BiDirectonal_LSTM_Model_energy_node_24.predict(X_training_data_reshaped_node_24)
test_predict_BiDirectonal_LSTM_Model_energy_node_24 = BiDirectonal_LSTM_Model_energy_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_BiDirectonal_LSTM_Model_pos_x_node_33 = BiDirectonal_LSTM_Model_pos_x_node_33.predict(X_training_data_reshaped_node_33)
test_predict_BiDirectonal_LSTM_Model_pos_x_node_33 = BiDirectonal_LSTM_Model_pos_x_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_BiDirectonal_LSTM_Model_pos_y_node_33 = BiDirectonal_LSTM_Model_pos_y_node_33.predict(X_training_data_reshaped_node_33)
test_predict_BiDirectonal_LSTM_Model_pos_y_node_33 = BiDirectonal_LSTM_Model_pos_y_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_BiDirectonal_LSTM_Model_speed_node_33 = BiDirectonal_LSTM_Model_speed_node_33.predict(X_training_data_reshaped_node_33)
test_predict_BiDirectonal_LSTM_Model_speed_node_33 = BiDirectonal_LSTM_Model_speed_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_BiDirectonal_LSTM_Model_energy_node_33 = BiDirectonal_LSTM_Model_energy_node_33.predict(X_training_data_reshaped_node_33)
test_predict_BiDirectonal_LSTM_Model_energy_node_33 = BiDirectonal_LSTM_Model_energy_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_BiDirectonal_LSTM_Model_pos_x_node_48 = BiDirectonal_LSTM_Model_pos_x_node_48.predict(X_training_data_reshaped_node_48)
test_predict_BiDirectonal_LSTM_Model_pos_x_node_48 = BiDirectonal_LSTM_Model_pos_x_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_BiDirectonal_LSTM_Model_pos_y_node_48 = BiDirectonal_LSTM_Model_pos_y_node_48.predict(X_training_data_reshaped_node_48)
test_predict_BiDirectonal_LSTM_Model_pos_y_node_48 = BiDirectonal_LSTM_Model_pos_y_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_BiDirectonal_LSTM_Model_speed_node_48 = BiDirectonal_LSTM_Model_speed_node_48.predict(X_training_data_reshaped_node_48)
test_predict_BiDirectonal_LSTM_Model_speed_node_48 = BiDirectonal_LSTM_Model_speed_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_BiDirectonal_LSTM_Model_energy_node_48 = BiDirectonal_LSTM_Model_energy_node_48.predict(X_training_data_reshaped_node_48)
test_predict_BiDirectonal_LSTM_Model_energy_node_48 = BiDirectonal_LSTM_Model_energy_node_48.predict(X_testing_data_reshaped_node_48)
print("\n\nRMSE on Training Data by Bi-Directional LSTM: ")
print("==============================================\n\n")
print("\n\nRMSE of Node 7: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_7,train_predict_BiDirectonal_LSTM_Model_pos_x_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_7,train_predict_BiDirectonal_LSTM_Model_pos_y_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_7,train_predict_BiDirectonal_LSTM_Model_speed_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_7,train_predict_BiDirectonal_LSTM_Model_energy_node_7)))
print("\n\nRMSE of Node 15: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_15,train_predict_BiDirectonal_LSTM_Model_pos_x_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_15,train_predict_BiDirectonal_LSTM_Model_pos_y_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_15,train_predict_BiDirectonal_LSTM_Model_speed_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_15,train_predict_BiDirectonal_LSTM_Model_energy_node_15)))
print("\n\nRMSE of Node 24: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_24,train_predict_BiDirectonal_LSTM_Model_pos_x_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_24,train_predict_BiDirectonal_LSTM_Model_pos_y_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_24,train_predict_BiDirectonal_LSTM_Model_speed_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_24,train_predict_BiDirectonal_LSTM_Model_energy_node_24)))
print("\n\nRMSE of Node 33: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_33,train_predict_BiDirectonal_LSTM_Model_pos_x_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_33,train_predict_BiDirectonal_LSTM_Model_pos_y_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_33,train_predict_BiDirectonal_LSTM_Model_speed_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_33,train_predict_BiDirectonal_LSTM_Model_energy_node_33)))
print("\n\nRMSE of Node 48: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_48,train_predict_BiDirectonal_LSTM_Model_pos_x_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_48,train_predict_BiDirectonal_LSTM_Model_pos_y_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_48,train_predict_BiDirectonal_LSTM_Model_speed_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_48,train_predict_BiDirectonal_LSTM_Model_energy_node_48)))
print("\n\nRMSE on Testing Data by Bi-Directional LSTM: ")
print("=============================================\n\n")
print("\n\nRMSE of Node 7: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_pos_x_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_BiDirectonal_LSTM_Model_pos_y_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_BiDirectonal_LSTM_Model_speed_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_BiDirectonal_LSTM_Model_energy_node_7)))
print("\n\nRMSE of Node 15: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_pos_x_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_BiDirectonal_LSTM_Model_pos_y_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_BiDirectonal_LSTM_Model_speed_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_BiDirectonal_LSTM_Model_energy_node_15)))
print("\n\nRMSE of Node 24: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_pos_x_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_24,test_predict_BiDirectonal_LSTM_Model_pos_y_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_BiDirectonal_LSTM_Model_speed_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_BiDirectonal_LSTM_Model_energy_node_24)))
print("\n\nRMSE of Node 33: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_pos_x_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_BiDirectonal_LSTM_Model_pos_y_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_BiDirectonal_LSTM_Model_speed_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_BiDirectonal_LSTM_Model_energy_node_33)))
print("\n\nRMSE of Node 48: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_pos_x_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_BiDirectonal_LSTM_Model_pos_y_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_BiDirectonal_LSTM_Model_speed_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_BiDirectonal_LSTM_Model_energy_node_48)))
RMSE on Training Data by Bi-Directional LSTM: ============================================== RMSE of Node 7: ====================================== 18.42230735272556 66.19180528916202 0.5671668681639104 77.13827806454167 RMSE of Node 15: ====================================== 24.304127003436246 29.14492006221184 0.42802572232609387 81.7756680476229 RMSE of Node 24: ====================================== 29.697526911048534 32.0464558839694 0.39748939557370205 89.69518114509812 RMSE of Node 33: ====================================== 32.89917103360774 37.17053485662294 0.6010035323543809 86.6826415738472 RMSE of Node 48: ====================================== 8.17105187022975 1.9643553451051685 0.33309919277040334 137.38962657177902 RMSE on Testing Data by Bi-Directional LSTM: ============================================= RMSE of Node 7: ====================================== 15.472769223108413 70.12713281868652 0.6367309253112398 196.12055188917748 RMSE of Node 15: ====================================== 163.88808119833243 86.96190672294681 0.8147339061807343 411.74089137786603 RMSE of Node 24: ====================================== 72.9606199636792 25.28796170794887 0.9237705686606663 517.5964521813826 RMSE of Node 33: ====================================== 65.30544743297659 73.44002737925149 1.4883888771416753 544.7265719091582 RMSE of Node 48: ====================================== 56.767080844719466 7.633256587911894 1.46665031821823 1492.7014867622406
print("\n\nGraph of Node 7: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_7)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_x_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_7)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_y_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_7)
plt.plot(test_predict_BiDirectonal_LSTM_Model_speed_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_7)
plt.plot(test_predict_BiDirectonal_LSTM_Model_energy_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 15: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_15)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_x_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_15)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_y_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_15)
plt.plot(test_predict_BiDirectonal_LSTM_Model_speed_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_15)
plt.plot(test_predict_BiDirectonal_LSTM_Model_energy_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 24: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_24)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_x_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_24)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_y_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_24)
plt.plot(test_predict_BiDirectonal_LSTM_Model_speed_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_24)
plt.plot(test_predict_BiDirectonal_LSTM_Model_energy_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 33: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_33)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_x_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_33)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_y_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_33)
plt.plot(test_predict_BiDirectonal_LSTM_Model_speed_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_33)
plt.plot(test_predict_BiDirectonal_LSTM_Model_energy_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 48: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_48)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_x_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_48)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_y_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_48)
plt.plot(test_predict_BiDirectonal_LSTM_Model_speed_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_48)
plt.plot(test_predict_BiDirectonal_LSTM_Model_energy_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
Graph of Node 7: ======================================
Graph of Node 15: ======================================
Graph of Node 24: ======================================
Graph of Node 33: ======================================
Graph of Node 48: ======================================
GRU_Model_pos_x_node_7 = Sequential()
GRU_Model_pos_x_node_7.add(GRU(50,input_shape=(4,1)))
GRU_Model_pos_x_node_7.add(Dense(1000))
GRU_Model_pos_x_node_7.add(Dense(1))
GRU_Model_pos_x_node_7.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_pos_y_node_7 = Sequential()
GRU_Model_pos_y_node_7.add(GRU(50,input_shape=(4,1)))
GRU_Model_pos_y_node_7.add(Dense(1000))
GRU_Model_pos_y_node_7.add(Dense(1))
GRU_Model_pos_y_node_7.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_speed_node_7 = Sequential()
GRU_Model_speed_node_7.add(GRU(50,input_shape=(4,1)))
GRU_Model_speed_node_7.add(Dense(1000))
GRU_Model_speed_node_7.add(Dense(1))
GRU_Model_speed_node_7.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_energy_node_7 = Sequential()
GRU_Model_energy_node_7.add(GRU(50,input_shape=(4,1)))
GRU_Model_energy_node_7.add(Dense(1000))
GRU_Model_energy_node_7.add(Dense(1))
GRU_Model_energy_node_7.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_pos_x_node_15 = Sequential()
GRU_Model_pos_x_node_15.add(GRU(50,input_shape=(4,1)))
GRU_Model_pos_x_node_15.add(Dense(1000))
GRU_Model_pos_x_node_15.add(Dense(1))
GRU_Model_pos_x_node_15.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_pos_y_node_15 = Sequential()
GRU_Model_pos_y_node_15.add(GRU(50,input_shape=(4,1)))
GRU_Model_pos_y_node_15.add(Dense(1000))
GRU_Model_pos_y_node_15.add(Dense(1))
GRU_Model_pos_y_node_15.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_speed_node_15 = Sequential()
GRU_Model_speed_node_15.add(GRU(50,input_shape=(4,1)))
GRU_Model_speed_node_15.add(Dense(1000))
GRU_Model_speed_node_15.add(Dense(1))
GRU_Model_speed_node_15.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_energy_node_15 = Sequential()
GRU_Model_energy_node_15.add(GRU(50,input_shape=(4,1)))
GRU_Model_energy_node_15.add(Dense(1000))
GRU_Model_energy_node_15.add(Dense(1))
GRU_Model_energy_node_15.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_pos_x_node_24 = Sequential()
GRU_Model_pos_x_node_24.add(GRU(50,input_shape=(4,1)))
GRU_Model_pos_x_node_24.add(Dense(1000))
GRU_Model_pos_x_node_24.add(Dense(1))
GRU_Model_pos_x_node_24.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_pos_y_node_24 = Sequential()
GRU_Model_pos_y_node_24.add(GRU(50,input_shape=(4,1)))
GRU_Model_pos_y_node_24.add(Dense(1000))
GRU_Model_pos_y_node_24.add(Dense(1))
GRU_Model_pos_y_node_24.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_speed_node_24 = Sequential()
GRU_Model_speed_node_24.add(GRU(50,input_shape=(4,1)))
GRU_Model_speed_node_24.add(Dense(1000))
GRU_Model_speed_node_24.add(Dense(1))
GRU_Model_speed_node_24.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_energy_node_24 = Sequential()
GRU_Model_energy_node_24.add(GRU(50,input_shape=(4,1)))
GRU_Model_energy_node_24.add(Dense(1000))
GRU_Model_energy_node_24.add(Dense(1))
GRU_Model_energy_node_24.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_pos_x_node_33 = Sequential()
GRU_Model_pos_x_node_33.add(GRU(50,input_shape=(4,1)))
GRU_Model_pos_x_node_33.add(Dense(1000))
GRU_Model_pos_x_node_33.add(Dense(1))
GRU_Model_pos_x_node_33.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_pos_y_node_33 = Sequential()
GRU_Model_pos_y_node_33.add(GRU(50,input_shape=(4,1)))
GRU_Model_pos_y_node_33.add(Dense(1000))
GRU_Model_pos_y_node_33.add(Dense(1))
GRU_Model_pos_y_node_33.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_speed_node_33 = Sequential()
GRU_Model_speed_node_33.add(GRU(50,input_shape=(4,1)))
GRU_Model_speed_node_33.add(Dense(1000))
GRU_Model_speed_node_33.add(Dense(1))
GRU_Model_speed_node_33.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_energy_node_33 = Sequential()
GRU_Model_energy_node_33.add(GRU(50,input_shape=(4,1)))
GRU_Model_energy_node_33.add(Dense(1000))
GRU_Model_energy_node_33.add(Dense(1))
GRU_Model_energy_node_33.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_pos_x_node_48 = Sequential()
GRU_Model_pos_x_node_48.add(GRU(50,input_shape=(4,1)))
GRU_Model_pos_x_node_48.add(Dense(1000))
GRU_Model_pos_x_node_48.add(Dense(1))
GRU_Model_pos_x_node_48.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_pos_y_node_48 = Sequential()
GRU_Model_pos_y_node_48.add(GRU(50,input_shape=(4,1)))
GRU_Model_pos_y_node_48.add(Dense(1000))
GRU_Model_pos_y_node_48.add(Dense(1))
GRU_Model_pos_y_node_48.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_speed_node_48 = Sequential()
GRU_Model_speed_node_48.add(GRU(50,input_shape=(4,1)))
GRU_Model_speed_node_48.add(Dense(1000))
GRU_Model_speed_node_48.add(Dense(1))
GRU_Model_speed_node_48.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_energy_node_48 = Sequential()
GRU_Model_energy_node_48.add(GRU(50,input_shape=(4,1)))
GRU_Model_energy_node_48.add(Dense(1000))
GRU_Model_energy_node_48.add(Dense(1))
GRU_Model_energy_node_48.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_pos_x_node_7.fit(X_training_data_reshaped_node_7,y_training_data_pos_x_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_pos_x_node_7),epochs=5,batch_size=10,verbose=1)
GRU_Model_pos_y_node_7.fit(X_training_data_reshaped_node_7,y_training_data_pos_y_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_pos_y_node_7),epochs=5,batch_size=10,verbose=1)
GRU_Model_speed_node_7.fit(X_training_data_reshaped_node_7,y_training_data_speed_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_speed_node_7),epochs=5,batch_size=10,verbose=1)
GRU_Model_energy_node_7.fit(X_training_data_reshaped_node_7,y_training_data_energy_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_energy_node_7),epochs=5,batch_size=10,verbose=1)
GRU_Model_pos_x_node_15.fit(X_training_data_reshaped_node_15,y_training_data_pos_x_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_pos_x_node_15),epochs=5,batch_size=10,verbose=1)
GRU_Model_pos_y_node_15.fit(X_training_data_reshaped_node_15,y_training_data_pos_y_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_pos_y_node_15),epochs=5,batch_size=10,verbose=1)
GRU_Model_speed_node_15.fit(X_training_data_reshaped_node_15,y_training_data_speed_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_speed_node_15),epochs=5,batch_size=10,verbose=1)
GRU_Model_energy_node_15.fit(X_training_data_reshaped_node_15,y_training_data_energy_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_energy_node_15),epochs=5,batch_size=10,verbose=1)
GRU_Model_pos_x_node_24.fit(X_training_data_reshaped_node_24,y_training_data_pos_x_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_pos_x_node_24),epochs=5,batch_size=10,verbose=1)
GRU_Model_pos_y_node_24.fit(X_training_data_reshaped_node_24,y_training_data_pos_y_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_pos_y_node_24),epochs=5,batch_size=10,verbose=1)
GRU_Model_speed_node_24.fit(X_training_data_reshaped_node_24,y_training_data_speed_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_speed_node_24),epochs=5,batch_size=10,verbose=1)
GRU_Model_energy_node_24.fit(X_training_data_reshaped_node_24,y_training_data_energy_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_energy_node_24),epochs=5,batch_size=10,verbose=1)
GRU_Model_pos_x_node_33.fit(X_training_data_reshaped_node_33,y_training_data_pos_x_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_pos_x_node_33),epochs=5,batch_size=10,verbose=1)
GRU_Model_pos_y_node_33.fit(X_training_data_reshaped_node_33,y_training_data_pos_y_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_pos_y_node_33),epochs=5,batch_size=10,verbose=1)
GRU_Model_speed_node_33.fit(X_training_data_reshaped_node_33,y_training_data_speed_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_speed_node_33),epochs=5,batch_size=10,verbose=1)
GRU_Model_energy_node_33.fit(X_training_data_reshaped_node_33,y_training_data_energy_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_energy_node_33),epochs=5,batch_size=10,verbose=1)
GRU_Model_pos_x_node_48.fit(X_training_data_reshaped_node_48,y_training_data_pos_x_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_pos_x_node_48),epochs=5,batch_size=10,verbose=1)
GRU_Model_pos_y_node_48.fit(X_training_data_reshaped_node_48,y_training_data_pos_y_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_pos_y_node_48),epochs=5,batch_size=10,verbose=1)
GRU_Model_speed_node_48.fit(X_training_data_reshaped_node_48,y_training_data_speed_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_speed_node_48),epochs=5,batch_size=10,verbose=1)
GRU_Model_energy_node_48.fit(X_training_data_reshaped_node_48,y_training_data_energy_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_energy_node_48),epochs=5,batch_size=10,verbose=1)
Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 19877.9371 - val_loss: 1837.2119 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 983.5955 - val_loss: 1283.8242 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 565.8454 - val_loss: 1190.0034 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 528.9743 - val_loss: 983.0772 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 471.1116 - val_loss: 724.2157 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 28255.1364 - val_loss: 2989.7141 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 5683.5460 - val_loss: 4049.0979 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 4999.4161 - val_loss: 5171.1016 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 4470.0973 - val_loss: 6173.8022 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 3893.5176 - val_loss: 6295.1343 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 5.4306 - val_loss: 1.6480 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 0.9158 - val_loss: 0.3768 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 0.2513 - val_loss: 0.2862 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 0.2835 - val_loss: 0.2795 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 0.4061 - val_loss: 0.2358 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 213562.3599 - val_loss: 113951.4922 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 107157.5694 - val_loss: 95130.1250 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 47299.1129 - val_loss: 27384.4648 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 1756.7445 - val_loss: 28444.0605 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 245.1841 - val_loss: 28401.6230 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 34595.4792 - val_loss: 12206.5400 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 1793.2031 - val_loss: 19510.2695 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 1111.6358 - val_loss: 19779.5449 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 598.8955 - val_loss: 21726.3477 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 426.8194 - val_loss: 19477.3887 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 35046.0746 - val_loss: 4328.2344 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 1434.7695 - val_loss: 6233.1450 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 1334.0415 - val_loss: 4529.0352 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 1319.1557 - val_loss: 3150.0276 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 1288.4363 - val_loss: 5345.1411 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 3.8926 - val_loss: 0.5587 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 0.2305 - val_loss: 0.4072 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 0.1630 - val_loss: 0.5024 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 0.0928 - val_loss: 0.8913 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 0.2050 - val_loss: 0.6176 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 396932.9429 - val_loss: 211447.1406 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 245236.6373 - val_loss: 90186.4609 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 101659.5253 - val_loss: 58915.1992 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 4183.9713 - val_loss: 63612.9844 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 1110.8375 - val_loss: 65404.6211 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 59430.8857 - val_loss: 5945.0918 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 5766.1787 - val_loss: 2955.5972 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 997.0505 - val_loss: 1973.4316 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 761.9979 - val_loss: 1629.1990 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 736.0356 - val_loss: 1936.1908 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 14712.3095 - val_loss: 8956.8701 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 6331.2420 - val_loss: 8259.3389 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 6195.4831 - val_loss: 7844.1924 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 6022.9997 - val_loss: 7497.3477 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 5900.3000 - val_loss: 7289.8896 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 3.2596 - val_loss: 5.1522 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 0.4039 - val_loss: 0.7103 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 0.1245 - val_loss: 0.6676 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 0.1844 - val_loss: 0.7868 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 0.0865 - val_loss: 0.8522 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 1770166.5261 - val_loss: 720548.8125 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 220650.9756 - val_loss: 634893.9375 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 128517.8780 - val_loss: 686787.8750 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 92240.8389 - val_loss: 609857.6875 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 83424.8713 - val_loss: 461474.8750 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 49141.7810 - val_loss: 7476.6470 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 5888.8011 - val_loss: 4513.1475 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 3638.7358 - val_loss: 5961.7559 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 2544.8954 - val_loss: 4053.7666 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 1805.1947 - val_loss: 4206.4561 Epoch 1/5 195/195 [==============================] - 4s 8ms/step - loss: 42278.0854 - val_loss: 7948.4951 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 5692.0866 - val_loss: 7974.1504 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 5322.2598 - val_loss: 7819.4014 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 5113.6369 - val_loss: 7743.3369 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 4942.6673 - val_loss: 8413.6777 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 4.3856 - val_loss: 2.0396 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 0.4395 - val_loss: 0.9546 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 0.1797 - val_loss: 0.8512 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 0.2200 - val_loss: 0.8135 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 0.1906 - val_loss: 0.7097 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 489211.8720 - val_loss: 235953.0625 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 102014.5839 - val_loss: 203124.5312 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 100072.0988 - val_loss: 203967.5938 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 70989.1667 - val_loss: 252478.7500 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 32109.2247 - val_loss: 219006.1250 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 86128.5894 - val_loss: 992.1761 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 174.4638 - val_loss: 1735.5767 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 105.8385 - val_loss: 2128.0281 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 92.8593 - val_loss: 2091.8425 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 100.3685 - val_loss: 2471.6455 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 11655.6587 - val_loss: 339.1677 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 48.6838 - val_loss: 100.5956 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 8.7239 - val_loss: 67.0432 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 2.8673 - val_loss: 48.2163 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 1.9172 - val_loss: 41.9425 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 6.4760 - val_loss: 3.2886 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 0.2045 - val_loss: 2.2315 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 0.1245 - val_loss: 2.5533 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 0.0837 - val_loss: 2.5310 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 0.0672 - val_loss: 2.2326 Epoch 1/5 195/195 [==============================] - 4s 7ms/step - loss: 3149215.3399 - val_loss: 1659367.6250 Epoch 2/5 195/195 [==============================] - 1s 4ms/step - loss: 519242.2643 - val_loss: 1620145.0000 Epoch 3/5 195/195 [==============================] - 1s 4ms/step - loss: 517820.5872 - val_loss: 1717804.6250 Epoch 4/5 195/195 [==============================] - 1s 4ms/step - loss: 511957.2411 - val_loss: 1664072.0000 Epoch 5/5 195/195 [==============================] - 1s 4ms/step - loss: 452628.5938 - val_loss: 1848406.5000
<tensorflow.python.keras.callbacks.History at 0x1964d69c760>
train_predict_GRU_Model_pos_x_node_7 = GRU_Model_pos_x_node_7.predict(X_training_data_reshaped_node_7)
test_predict_GRU_Model_pos_x_node_7 = GRU_Model_pos_x_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_GRU_Model_pos_y_node_7 = GRU_Model_pos_y_node_7.predict(X_training_data_reshaped_node_7)
test_predict_GRU_Model_pos_y_node_7 = GRU_Model_pos_y_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_GRU_Model_speed_node_7 = GRU_Model_speed_node_7.predict(X_training_data_reshaped_node_7)
test_predict_GRU_Model_speed_node_7 = GRU_Model_speed_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_GRU_Model_energy_node_7 = GRU_Model_energy_node_7.predict(X_training_data_reshaped_node_7)
test_predict_GRU_Model_energy_node_7 = GRU_Model_energy_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_GRU_Model_pos_x_node_15 = GRU_Model_pos_x_node_15.predict(X_training_data_reshaped_node_15)
test_predict_GRU_Model_pos_x_node_15 = GRU_Model_pos_x_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_GRU_Model_pos_y_node_15 = GRU_Model_pos_y_node_15.predict(X_training_data_reshaped_node_15)
test_predict_GRU_Model_pos_y_node_15 = GRU_Model_pos_y_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_GRU_Model_speed_node_15 = GRU_Model_speed_node_15.predict(X_training_data_reshaped_node_15)
test_predict_GRU_Model_speed_node_15 = GRU_Model_speed_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_GRU_Model_energy_node_15 = GRU_Model_energy_node_15.predict(X_training_data_reshaped_node_15)
test_predict_GRU_Model_energy_node_15 = GRU_Model_energy_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_GRU_Model_pos_x_node_24 = GRU_Model_pos_x_node_24.predict(X_training_data_reshaped_node_24)
test_predict_GRU_Model_pos_x_node_24 = GRU_Model_pos_x_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_GRU_Model_pos_y_node_24 = GRU_Model_pos_y_node_24.predict(X_training_data_reshaped_node_24)
test_predict_GRU_Model_pos_y_node_24 = GRU_Model_pos_y_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_GRU_Model_speed_node_24 = GRU_Model_speed_node_24.predict(X_training_data_reshaped_node_24)
test_predict_GRU_Model_speed_node_24 = GRU_Model_speed_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_GRU_Model_energy_node_24 = GRU_Model_energy_node_24.predict(X_training_data_reshaped_node_24)
test_predict_GRU_Model_energy_node_24 = GRU_Model_energy_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_GRU_Model_pos_x_node_33 = GRU_Model_pos_x_node_33.predict(X_training_data_reshaped_node_33)
test_predict_GRU_Model_pos_x_node_33 = GRU_Model_pos_x_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_GRU_Model_pos_y_node_33 = GRU_Model_pos_y_node_33.predict(X_training_data_reshaped_node_33)
test_predict_GRU_Model_pos_y_node_33 = GRU_Model_pos_y_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_GRU_Model_speed_node_33 = GRU_Model_speed_node_33.predict(X_training_data_reshaped_node_33)
test_predict_GRU_Model_speed_node_33 = GRU_Model_speed_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_GRU_Model_energy_node_33 = GRU_Model_energy_node_33.predict(X_training_data_reshaped_node_33)
test_predict_GRU_Model_energy_node_33 = GRU_Model_energy_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_GRU_Model_pos_x_node_48 = GRU_Model_pos_x_node_48.predict(X_training_data_reshaped_node_48)
test_predict_GRU_Model_pos_x_node_48 = GRU_Model_pos_x_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_GRU_Model_pos_y_node_48 = GRU_Model_pos_y_node_48.predict(X_training_data_reshaped_node_48)
test_predict_GRU_Model_pos_y_node_48 = GRU_Model_pos_y_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_GRU_Model_speed_node_48 = GRU_Model_speed_node_48.predict(X_training_data_reshaped_node_48)
test_predict_GRU_Model_speed_node_48 = GRU_Model_speed_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_GRU_Model_energy_node_48 = GRU_Model_energy_node_48.predict(X_training_data_reshaped_node_48)
test_predict_GRU_Model_energy_node_48 = GRU_Model_energy_node_48.predict(X_testing_data_reshaped_node_48)
print("\n\nRMSE on Training Data by GRU: ")
print("======================================\n\n")
print("\n\nRMSE of Node 7: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_7,train_predict_GRU_Model_pos_x_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_7,train_predict_GRU_Model_pos_y_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_7,train_predict_GRU_Model_speed_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_7,train_predict_GRU_Model_energy_node_7)))
print("\n\nRMSE of Node 15: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_15,train_predict_GRU_Model_pos_x_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_15,train_predict_GRU_Model_pos_y_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_15,train_predict_GRU_Model_speed_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_15,train_predict_GRU_Model_energy_node_15)))
print("\n\nRMSE of Node 24: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_24,train_predict_GRU_Model_pos_x_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_24,train_predict_GRU_Model_pos_y_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_24,train_predict_GRU_Model_speed_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_24,train_predict_GRU_Model_energy_node_24)))
print("\n\nRMSE of Node 33: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_33,train_predict_GRU_Model_pos_x_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_33,train_predict_GRU_Model_pos_y_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_33,train_predict_GRU_Model_speed_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_33,train_predict_GRU_Model_energy_node_33)))
print("\n\nRMSE of Node 48: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_48,train_predict_GRU_Model_pos_x_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_48,train_predict_GRU_Model_pos_y_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_48,train_predict_GRU_Model_speed_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_48,train_predict_GRU_Model_energy_node_48)))
print("\n\nRMSE on Testing Data by GRU: ")
print("=====================================\n\n")
print("\n\nRMSE of Node 7: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_pos_x_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_GRU_Model_pos_y_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_GRU_Model_speed_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_GRU_Model_energy_node_7)))
print("\n\nRMSE of Node 15: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_pos_x_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_GRU_Model_pos_y_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_GRU_Model_speed_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_GRU_Model_energy_node_15)))
print("\n\nRMSE of Node 24: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_pos_x_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_24,test_predict_GRU_Model_pos_y_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_GRU_Model_speed_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_GRU_Model_energy_node_24)))
print("\n\nRMSE of Node 33: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_pos_x_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_GRU_Model_pos_y_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_GRU_Model_speed_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_GRU_Model_energy_node_33)))
print("\n\nRMSE of Node 48: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_pos_x_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_GRU_Model_pos_y_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_GRU_Model_speed_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_GRU_Model_energy_node_48)))
RMSE on Training Data by GRU: ====================================== RMSE of Node 7: ====================================== 16.996573492867658 54.8341511625619 0.5052075422752197 23.59512800321984 RMSE of Node 15: ====================================== 20.657066435559383 34.79081257237088 0.39957579390837755 38.80626058010534 RMSE of Node 24: ====================================== 22.659284725758326 74.42649867404641 0.36668950366939523 246.34578126823115 RMSE of Node 33: ====================================== 37.013649640878974 70.04476321906223 0.3817785860805037 100.75893795297313 RMSE of Node 48: ====================================== 9.994468324767526 1.2309565254959485 0.28963635401627746 571.746346938228 RMSE on Testing Data by GRU: ===================================== RMSE of Node 7: ====================================== 26.911247497909503 79.34188876221245 0.485575171241919 168.52778792856125 RMSE of Node 15: ====================================== 139.56143742628595 73.11046521732577 0.7858934747961992 255.74325590863873 RMSE of Node 24: ====================================== 44.00216484194272 85.3808500780627 0.9231312058580767 679.3194368512528 RMSE of Node 33: ====================================== 64.85719612818674 91.72610847149676 0.8424116788231122 467.98088347075924 RMSE of Node 48: ====================================== 49.715648127865926 6.476301148672023 1.4941851685138519 1359.5611330777754
print("\n\nGraph of Node 7: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_7)
plt.plot(test_predict_GRU_Model_pos_x_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_7)
plt.plot(test_predict_GRU_Model_pos_y_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_7)
plt.plot(test_predict_GRU_Model_speed_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_7)
plt.plot(test_predict_GRU_Model_energy_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 15: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_15)
plt.plot(test_predict_GRU_Model_pos_x_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_15)
plt.plot(test_predict_GRU_Model_pos_y_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_15)
plt.plot(test_predict_GRU_Model_speed_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_15)
plt.plot(test_predict_GRU_Model_energy_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 24: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_24)
plt.plot(test_predict_GRU_Model_pos_x_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_24)
plt.plot(test_predict_GRU_Model_pos_y_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_24)
plt.plot(test_predict_GRU_Model_speed_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_24)
plt.plot(test_predict_GRU_Model_energy_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 33: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_33)
plt.plot(test_predict_GRU_Model_pos_x_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_33)
plt.plot(test_predict_GRU_Model_pos_y_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_33)
plt.plot(test_predict_GRU_Model_speed_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_33)
plt.plot(test_predict_GRU_Model_energy_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 48: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_48)
plt.plot(test_predict_GRU_Model_pos_x_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_48)
plt.plot(test_predict_GRU_Model_pos_y_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_48)
plt.plot(test_predict_GRU_Model_speed_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_48)
plt.plot(test_predict_GRU_Model_energy_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
Graph of Node 7: ======================================
Graph of Node 15: ======================================
Graph of Node 24: ======================================
Graph of Node 33: ======================================
Graph of Node 48: ======================================
RNN_Model_pos_x_node_7 = Sequential()
RNN_Model_pos_x_node_7.add(RNN(50,input_shape=(4,1)))
RNN_Model_pos_x_node_7.add(Dense(1))
RNN_Model_pos_x_node_7.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_pos_y_node_7 = Sequential()
RNN_Model_pos_y_node_7.add(RNN(50,input_shape=(4,1)))
RNN_Model_pos_y_node_7.add(Dense(1))
RNN_Model_pos_y_node_7.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_speed_node_7 = Sequential()
RNN_Model_speed_node_7.add(RNN(50,input_shape=(4,1)))
RNN_Model_speed_node_7.add(Dense(1))
RNN_Model_speed_node_7.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_energy_node_7 = Sequential()
RNN_Model_energy_node_7.add(RNN(50,input_shape=(4,1)))
RNN_Model_energy_node_7.add(Dense(1))
RNN_Model_energy_node_7.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_pos_x_node_15 = Sequential()
RNN_Model_pos_x_node_15.add(RNN(50,input_shape=(4,1)))
RNN_Model_pos_x_node_15.add(Dense(1))
RNN_Model_pos_x_node_15.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_pos_y_node_15 = Sequential()
RNN_Model_pos_y_node_15.add(RNN(50,input_shape=(4,1)))
RNN_Model_pos_y_node_15.add(Dense(1))
RNN_Model_pos_y_node_15.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_speed_node_15 = Sequential()
RNN_Model_speed_node_15.add(RNN(50,input_shape=(4,1)))
RNN_Model_speed_node_15.add(Dense(1))
RNN_Model_speed_node_15.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_energy_node_15 = Sequential()
RNN_Model_energy_node_15.add(RNN(50,input_shape=(4,1)))
RNN_Model_energy_node_15.add(Dense(1))
RNN_Model_energy_node_15.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_pos_x_node_24 = Sequential()
RNN_Model_pos_x_node_24.add(RNN(50,input_shape=(4,1)))
RNN_Model_pos_x_node_24.add(Dense(1))
RNN_Model_pos_x_node_24.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_pos_y_node_24 = Sequential()
RNN_Model_pos_y_node_24.add(RNN(50,input_shape=(4,1)))
RNN_Model_pos_y_node_24.add(Dense(1))
RNN_Model_pos_y_node_24.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_speed_node_24 = Sequential()
RNN_Model_speed_node_24.add(RNN(50,input_shape=(4,1)))
RNN_Model_speed_node_24.add(Dense(1))
RNN_Model_speed_node_24.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_energy_node_24 = Sequential()
RNN_Model_energy_node_24.add(RNN(50,input_shape=(4,1)))
RNN_Model_energy_node_24.add(Dense(1))
RNN_Model_energy_node_24.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_pos_x_node_33 = Sequential()
RNN_Model_pos_x_node_33.add(RNN(50,input_shape=(4,1)))
RNN_Model_pos_x_node_33.add(Dense(1))
RNN_Model_pos_x_node_33.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_pos_y_node_33 = Sequential()
RNN_Model_pos_y_node_33.add(RNN(50,input_shape=(4,1)))
RNN_Model_pos_y_node_33.add(Dense(1))
RNN_Model_pos_y_node_33.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_speed_node_33 = Sequential()
RNN_Model_speed_node_33.add(RNN(50,input_shape=(4,1)))
RNN_Model_speed_node_33.add(Dense(1))
RNN_Model_speed_node_33.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_energy_node_33 = Sequential()
RNN_Model_energy_node_33.add(RNN(50,input_shape=(4,1)))
RNN_Model_energy_node_33.add(Dense(1))
RNN_Model_energy_node_33.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_pos_x_node_48 = Sequential()
RNN_Model_pos_x_node_48.add(RNN(50,input_shape=(4,1)))
RNN_Model_pos_x_node_48.add(Dense(1))
RNN_Model_pos_x_node_48.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_pos_y_node_48 = Sequential()
RNN_Model_pos_y_node_48.add(RNN(50,input_shape=(4,1)))
RNN_Model_pos_y_node_48.add(Dense(1))
RNN_Model_pos_y_node_48.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_speed_node_48 = Sequential()
RNN_Model_speed_node_48.add(RNN(50,input_shape=(4,1)))
RNN_Model_speed_node_48.add(Dense(1))
RNN_Model_speed_node_48.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_energy_node_48 = Sequential()
RNN_Model_energy_node_48.add(RNN(50,input_shape=(4,1)))
RNN_Model_energy_node_48.add(Dense(1))
RNN_Model_energy_node_48.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_pos_x_node_7.fit(X_training_data_reshaped_node_7,y_training_data_pos_x_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_pos_x_node_7),epochs=5,batch_size=10,verbose=1)
RNN_Model_pos_y_node_7.fit(X_training_data_reshaped_node_7,y_training_data_pos_y_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_pos_y_node_7),epochs=5,batch_size=10,verbose=1)
RNN_Model_speed_node_7.fit(X_training_data_reshaped_node_7,y_training_data_speed_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_speed_node_7),epochs=5,batch_size=10,verbose=1)
RNN_Model_energy_node_7.fit(X_training_data_reshaped_node_7,y_training_data_energy_node_7,validation_data=(X_testing_data_reshaped_node_7,y_testing_data_energy_node_7),epochs=5,batch_size=10,verbose=1)
RNN_Model_pos_x_node_15.fit(X_training_data_reshaped_node_15,y_training_data_pos_x_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_pos_x_node_15),epochs=5,batch_size=10,verbose=1)
RNN_Model_pos_y_node_15.fit(X_training_data_reshaped_node_15,y_training_data_pos_y_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_pos_y_node_15),epochs=5,batch_size=10,verbose=1)
RNN_Model_speed_node_15.fit(X_training_data_reshaped_node_15,y_training_data_speed_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_speed_node_15),epochs=5,batch_size=10,verbose=1)
RNN_Model_energy_node_15.fit(X_training_data_reshaped_node_15,y_training_data_energy_node_15,validation_data=(X_testing_data_reshaped_node_15,y_testing_data_energy_node_15),epochs=5,batch_size=10,verbose=1)
RNN_Model_pos_x_node_24.fit(X_training_data_reshaped_node_24,y_training_data_pos_x_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_pos_x_node_24),epochs=5,batch_size=10,verbose=1)
RNN_Model_pos_y_node_24.fit(X_training_data_reshaped_node_24,y_training_data_pos_y_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_pos_y_node_24),epochs=5,batch_size=10,verbose=1)
RNN_Model_speed_node_24.fit(X_training_data_reshaped_node_24,y_training_data_speed_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_speed_node_24),epochs=5,batch_size=10,verbose=1)
RNN_Model_energy_node_24.fit(X_training_data_reshaped_node_24,y_training_data_energy_node_24,validation_data=(X_testing_data_reshaped_node_24,y_testing_data_energy_node_24),epochs=5,batch_size=10,verbose=1)
RNN_Model_pos_x_node_33.fit(X_training_data_reshaped_node_33,y_training_data_pos_x_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_pos_x_node_33),epochs=5,batch_size=10,verbose=1)
RNN_Model_pos_y_node_33.fit(X_training_data_reshaped_node_33,y_training_data_pos_y_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_pos_y_node_33),epochs=5,batch_size=10,verbose=1)
RNN_Model_speed_node_33.fit(X_training_data_reshaped_node_33,y_training_data_speed_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_speed_node_33),epochs=5,batch_size=10,verbose=1)
RNN_Model_energy_node_33.fit(X_training_data_reshaped_node_33,y_training_data_energy_node_33,validation_data=(X_testing_data_reshaped_node_33,y_testing_data_energy_node_33),epochs=5,batch_size=10,verbose=1)
RNN_Model_pos_x_node_48.fit(X_training_data_reshaped_node_48,y_training_data_pos_x_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_pos_x_node_48),epochs=5,batch_size=10,verbose=1)
RNN_Model_pos_y_node_48.fit(X_training_data_reshaped_node_48,y_training_data_pos_y_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_pos_y_node_48),epochs=5,batch_size=10,verbose=1)
RNN_Model_speed_node_48.fit(X_training_data_reshaped_node_48,y_training_data_speed_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_speed_node_48),epochs=5,batch_size=10,verbose=1)
RNN_Model_energy_node_48.fit(X_training_data_reshaped_node_48,y_training_data_energy_node_48,validation_data=(X_testing_data_reshaped_node_48,y_testing_data_energy_node_48),epochs=5,batch_size=10,verbose=1)
Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 35325.5585 - val_loss: 24770.3125 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 30874.6596 - val_loss: 21970.3379 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 26765.3150 - val_loss: 19558.4434 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 24617.4794 - val_loss: 17417.2500 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 22049.6402 - val_loss: 15516.4297 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 45306.2476 - val_loss: 22733.1602 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 35843.5286 - val_loss: 19817.4141 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 36205.0585 - val_loss: 17312.7637 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 31611.7394 - val_loss: 15095.2930 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 29392.0091 - val_loss: 13118.4805 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 7.2964 - val_loss: 2.0146 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 0.6001 - val_loss: 0.2463 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 0.2137 - val_loss: 0.2433 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 0.2151 - val_loss: 0.2524 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 0.3076 - val_loss: 0.2427 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 295701.9762 - val_loss: 1279.1305 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 271265.1138 - val_loss: 1568.2772 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 274104.8422 - val_loss: 2032.4894 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 268274.7581 - val_loss: 2667.7510 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 252182.6865 - val_loss: 3466.6111 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 59057.3541 - val_loss: 34383.4375 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 52966.8704 - val_loss: 30773.1680 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 50022.7346 - val_loss: 27584.9531 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 44132.5715 - val_loss: 24689.2930 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 41523.2333 - val_loss: 22058.9629 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 63965.5932 - val_loss: 46655.5703 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 54975.3224 - val_loss: 42221.4297 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 51260.0499 - val_loss: 38267.5273 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 47978.4701 - val_loss: 34650.5938 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 43866.9023 - val_loss: 31305.8203 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 2.9667 - val_loss: 0.7005 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 0.2373 - val_loss: 0.6446 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 0.1280 - val_loss: 0.7329 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 0.2492 - val_loss: 0.6474 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 0.1571 - val_loss: 0.7369 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 526512.3029 - val_loss: 249892.4219 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 481154.2285 - val_loss: 244248.6719 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 477511.8254 - val_loss: 239193.9844 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 484345.5665 - val_loss: 234461.4375 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 467312.8538 - val_loss: 229972.5156 Epoch 1/5 195/195 [==============================] - 2s 4ms/step - loss: 103137.6766 - val_loss: 86202.1016 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 92020.9887 - val_loss: 80566.4141 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 85306.3616 - val_loss: 75465.3047 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 79637.3396 - val_loss: 70720.9375 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 77543.5837 - val_loss: 66282.3203 Epoch 1/5 195/195 [==============================] - 2s 4ms/step - loss: 20518.5443 - val_loss: 18179.1328 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 17198.4211 - val_loss: 16198.4102 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 14898.2108 - val_loss: 14558.7695 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 13548.9938 - val_loss: 13160.4971 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 12551.9667 - val_loss: 11985.5742 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 3.6574 - val_loss: 3.9913 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 0.4361 - val_loss: 1.6787 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 0.1507 - val_loss: 1.9110 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 0.1519 - val_loss: 1.5988 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 0.1098 - val_loss: 1.8256 Epoch 1/5 195/195 [==============================] - 14s 3ms/step - loss: 2467618.5855 - val_loss: 1044183.8750 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 2332027.7717 - val_loss: 1025429.0000 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 2349232.1429 - val_loss: 1008140.0000 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 2364383.8648 - val_loss: 991420.8750 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 2261794.5510 - val_loss: 975093.1875 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 83153.8062 - val_loss: 53558.7148 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 77046.6269 - val_loss: 49142.2227 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 75073.7207 - val_loss: 45179.6172 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 66940.3950 - val_loss: 41513.4727 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 61871.3788 - val_loss: 38098.8984 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 76218.2216 - val_loss: 66062.8828 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 68656.1559 - val_loss: 61134.3359 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 63947.7706 - val_loss: 56671.3906 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 60070.5436 - val_loss: 52522.3984 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 54715.7051 - val_loss: 48662.5469 Epoch 1/5 195/195 [==============================] - 2s 4ms/step - loss: 4.6424 - val_loss: 0.5427 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 0.3412 - val_loss: 0.6157 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 0.2655 - val_loss: 0.5751 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 0.1305 - val_loss: 0.7043 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 0.1746 - val_loss: 0.6772 Epoch 1/5 195/195 [==============================] - 2s 4ms/step - loss: 726147.9158 - val_loss: 260642.7031 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 684873.3412 - val_loss: 251983.2969 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 699288.2398 - val_loss: 243849.6875 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 667886.4515 - val_loss: 236091.3438 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 689091.7305 - val_loss: 228637.8281 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 152755.1997 - val_loss: 132516.2344 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 139988.1348 - val_loss: 124854.2188 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 131881.4405 - val_loss: 117825.1484 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 125341.5002 - val_loss: 111185.7109 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 119385.5277 - val_loss: 104863.8984 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 22087.9635 - val_loss: 18291.0645 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 18007.5633 - val_loss: 15638.8926 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 15442.2205 - val_loss: 13354.6191 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 13184.9923 - val_loss: 11346.5967 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 11196.8975 - val_loss: 9576.8037 Epoch 1/5 195/195 [==============================] - 2s 3ms/step - loss: 5.1649 - val_loss: 3.4066 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 0.1182 - val_loss: 2.4327 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 0.1076 - val_loss: 2.2536 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 0.1085 - val_loss: 2.4892 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 0.0411 - val_loss: 2.7523 Epoch 1/5 195/195 [==============================] - 2s 4ms/step - loss: 4227943.7334 - val_loss: 411798.7812 Epoch 2/5 195/195 [==============================] - 0s 2ms/step - loss: 4155603.9298 - val_loss: 398502.2188 Epoch 3/5 195/195 [==============================] - 0s 2ms/step - loss: 4137536.7755 - val_loss: 385990.4375 Epoch 4/5 195/195 [==============================] - 0s 2ms/step - loss: 4007453.3929 - val_loss: 373923.6562 Epoch 5/5 195/195 [==============================] - 0s 2ms/step - loss: 4052765.8406 - val_loss: 362146.3125
<tensorflow.python.keras.callbacks.History at 0x1960ac13820>
train_predict_RNN_Model_pos_x_node_7 = RNN_Model_pos_x_node_7.predict(X_training_data_reshaped_node_7)
test_predict_RNN_Model_pos_x_node_7 = RNN_Model_pos_x_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_RNN_Model_pos_y_node_7 = RNN_Model_pos_y_node_7.predict(X_training_data_reshaped_node_7)
test_predict_RNN_Model_pos_y_node_7 = RNN_Model_pos_y_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_RNN_Model_speed_node_7 = RNN_Model_speed_node_7.predict(X_training_data_reshaped_node_7)
test_predict_RNN_Model_speed_node_7 = RNN_Model_speed_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_RNN_Model_energy_node_7 = RNN_Model_energy_node_7.predict(X_training_data_reshaped_node_7)
test_predict_RNN_Model_energy_node_7 = RNN_Model_energy_node_7.predict(X_testing_data_reshaped_node_7)
train_predict_RNN_Model_pos_x_node_15 = RNN_Model_pos_x_node_15.predict(X_training_data_reshaped_node_15)
test_predict_RNN_Model_pos_x_node_15 = RNN_Model_pos_x_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_RNN_Model_pos_y_node_15 = RNN_Model_pos_y_node_15.predict(X_training_data_reshaped_node_15)
test_predict_RNN_Model_pos_y_node_15 = RNN_Model_pos_y_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_RNN_Model_speed_node_15 = RNN_Model_speed_node_15.predict(X_training_data_reshaped_node_15)
test_predict_RNN_Model_speed_node_15 = RNN_Model_speed_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_RNN_Model_energy_node_15 = RNN_Model_energy_node_15.predict(X_training_data_reshaped_node_15)
test_predict_RNN_Model_energy_node_15 = RNN_Model_energy_node_15.predict(X_testing_data_reshaped_node_15)
train_predict_RNN_Model_pos_x_node_24 = RNN_Model_pos_x_node_24.predict(X_training_data_reshaped_node_24)
test_predict_RNN_Model_pos_x_node_24 = RNN_Model_pos_x_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_RNN_Model_pos_y_node_24 = RNN_Model_pos_y_node_24.predict(X_training_data_reshaped_node_24)
test_predict_RNN_Model_pos_y_node_24 = RNN_Model_pos_y_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_RNN_Model_speed_node_24 = RNN_Model_speed_node_24.predict(X_training_data_reshaped_node_24)
test_predict_RNN_Model_speed_node_24 = RNN_Model_speed_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_RNN_Model_energy_node_24 = RNN_Model_energy_node_24.predict(X_training_data_reshaped_node_24)
test_predict_RNN_Model_energy_node_24 = RNN_Model_energy_node_24.predict(X_testing_data_reshaped_node_24)
train_predict_RNN_Model_pos_x_node_33 = RNN_Model_pos_x_node_33.predict(X_training_data_reshaped_node_33)
test_predict_RNN_Model_pos_x_node_33 = RNN_Model_pos_x_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_RNN_Model_pos_y_node_33 = RNN_Model_pos_y_node_33.predict(X_training_data_reshaped_node_33)
test_predict_RNN_Model_pos_y_node_33 = RNN_Model_pos_y_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_RNN_Model_speed_node_33 = RNN_Model_speed_node_33.predict(X_training_data_reshaped_node_33)
test_predict_RNN_Model_speed_node_33 = RNN_Model_speed_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_RNN_Model_energy_node_33 = RNN_Model_energy_node_33.predict(X_training_data_reshaped_node_33)
test_predict_RNN_Model_energy_node_33 = RNN_Model_energy_node_33.predict(X_testing_data_reshaped_node_33)
train_predict_RNN_Model_pos_x_node_48 = RNN_Model_pos_x_node_48.predict(X_training_data_reshaped_node_48)
test_predict_RNN_Model_pos_x_node_48 = RNN_Model_pos_x_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_RNN_Model_pos_y_node_48 = RNN_Model_pos_y_node_48.predict(X_training_data_reshaped_node_48)
test_predict_RNN_Model_pos_y_node_48 = RNN_Model_pos_y_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_RNN_Model_speed_node_48 = RNN_Model_speed_node_48.predict(X_training_data_reshaped_node_48)
test_predict_RNN_Model_speed_node_48 = RNN_Model_speed_node_48.predict(X_testing_data_reshaped_node_48)
train_predict_RNN_Model_energy_node_48 = RNN_Model_energy_node_48.predict(X_training_data_reshaped_node_48)
test_predict_RNN_Model_energy_node_48 = RNN_Model_energy_node_48.predict(X_testing_data_reshaped_node_48)
print("\n\nRMSE on Training Data by RNN: ")
print("======================================\n\n")
print("\n\nRMSE of Node 7: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_7,train_predict_RNN_Model_pos_x_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_7,train_predict_RNN_Model_pos_y_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_7,train_predict_RNN_Model_speed_node_7)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_7,train_predict_RNN_Model_energy_node_7)))
print("\n\nRMSE of Node 15: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_15,train_predict_RNN_Model_pos_x_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_15,train_predict_RNN_Model_pos_y_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_15,train_predict_RNN_Model_speed_node_15)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_15,train_predict_RNN_Model_energy_node_15)))
print("\n\nRMSE of Node 24: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_24,train_predict_RNN_Model_pos_x_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_24,train_predict_RNN_Model_pos_y_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_24,train_predict_RNN_Model_speed_node_24)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_24,train_predict_RNN_Model_energy_node_24)))
print("\n\nRMSE of Node 33: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_33,train_predict_RNN_Model_pos_x_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_33,train_predict_RNN_Model_pos_y_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_33,train_predict_RNN_Model_speed_node_33)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_33,train_predict_RNN_Model_energy_node_33)))
print("\n\nRMSE of Node 48: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x_node_48,train_predict_RNN_Model_pos_x_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y_node_48,train_predict_RNN_Model_pos_y_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_speed_node_48,train_predict_RNN_Model_speed_node_48)))
print(math.sqrt(mean_squared_error(y_training_data_energy_node_48,train_predict_RNN_Model_energy_node_48)))
print("\n\nRMSE on Testing Data by RNN: ")
print("=====================================\n\n")
print("\n\nRMSE of Node 7: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_pos_x_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_RNN_Model_pos_y_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_RNN_Model_speed_node_7)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_RNN_Model_energy_node_7)))
print("\n\nRMSE of Node 15: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_pos_x_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_RNN_Model_pos_y_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_RNN_Model_speed_node_15)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_RNN_Model_energy_node_15)))
print("\n\nRMSE of Node 24: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_pos_x_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_24,test_predict_RNN_Model_pos_y_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_RNN_Model_speed_node_24)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_RNN_Model_energy_node_24)))
print("\n\nRMSE of Node 33: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_pos_x_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_RNN_Model_pos_y_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_RNN_Model_speed_node_33)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_RNN_Model_energy_node_33)))
print("\n\nRMSE of Node 48: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_pos_x_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_RNN_Model_pos_y_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_RNN_Model_speed_node_48)))
print(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_RNN_Model_energy_node_48)))
RMSE on Training Data by RNN: ====================================== RMSE of Node 7: ====================================== 143.0418718688773 166.37545986808323 0.49993825282049803 495.4853091525583 RMSE of Node 15: ====================================== 197.17589272813044 202.22276696261034 0.4042618188928671 677.038040263439 RMSE of Node 24: ====================================== 270.75707165760736 107.31615451576619 0.36780982490512065 1515.076221154328 RMSE of Node 33: ====================================== 241.30736189002354 228.23623836001252 0.4097690763561436 813.3903125508962 RMSE of Node 48: ====================================== 337.0478205552667 99.41730717444513 0.29344807005950124 1996.0531703611189 RMSE on Testing Data by RNN: ===================================== RMSE of Node 7: ====================================== 124.56495459719021 114.53593711893676 0.4926025771755116 58.87792915288162 RMSE of Node 15: ====================================== 148.522614924966 176.93451053857785 0.8584550146744845 479.5544453226019 RMSE of Node 24: ====================================== 257.4535214800704 109.4786457962932 1.351143446594122 987.4681164071391 RMSE of Node 33: ====================================== 195.18939770976954 220.59589685668757 0.8229388886971586 478.1609091476392 RMSE of Node 48: ====================================== 323.8269430504975 97.86114465471238 1.6590009256306597 601.7859475573283
print("\n\nGraph of Node 7: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_7)
plt.plot(test_predict_RNN_Model_pos_x_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_7)
plt.plot(test_predict_RNN_Model_pos_y_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_7)
plt.plot(test_predict_RNN_Model_speed_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_7)
plt.plot(test_predict_RNN_Model_energy_node_7)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 15: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_15)
plt.plot(test_predict_RNN_Model_pos_x_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_15)
plt.plot(test_predict_RNN_Model_pos_y_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_15)
plt.plot(test_predict_RNN_Model_speed_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_15)
plt.plot(test_predict_RNN_Model_energy_node_15)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 24: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_24)
plt.plot(test_predict_RNN_Model_pos_x_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_24)
plt.plot(test_predict_RNN_Model_pos_y_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_24)
plt.plot(test_predict_RNN_Model_speed_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_24)
plt.plot(test_predict_RNN_Model_energy_node_24)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 33: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_33)
plt.plot(test_predict_RNN_Model_pos_x_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_33)
plt.plot(test_predict_RNN_Model_pos_y_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_33)
plt.plot(test_predict_RNN_Model_speed_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_33)
plt.plot(test_predict_RNN_Model_energy_node_33)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nGraph of Node 48: ")
print("======================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x_node_48)
plt.plot(test_predict_RNN_Model_pos_x_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y_node_48)
plt.plot(test_predict_RNN_Model_pos_y_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed_node_48)
plt.plot(test_predict_RNN_Model_speed_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy_node_48)
plt.plot(test_predict_RNN_Model_energy_node_48)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
Graph of Node 7: ======================================
Graph of Node 15: ======================================
Graph of Node 24: ======================================
Graph of Node 33: ======================================
Graph of Node 48: ======================================
print("\n\n===============")
print("RMSE of Node 7: ")
print("===============\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_pos_x_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_pos_x_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_pos_x_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_pos_x_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_pos_x_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_pos_x_node_7)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_pos_y_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_pos_y_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_pos_y_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_pos_y_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_pos_y_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_pos_y_node_7)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_speed_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_speed_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_speed_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_speed_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_speed_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_speed_node_7)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_energy_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_energy_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_energy_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_energy_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_energy_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_energy_node_7)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.8)
ax.bar(X, data[1], color = 'purple', width = 0.6)
ax.bar(X, data[2], color = 'red', width = 0.4)
ax.bar(X, data[3], color = 'green', width = 0.2)
ax.legend(['POS X','POS Y','SPEED','ENERGY'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n===============")
print("RMSE of Node 15: ")
print("===============\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_pos_x_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_pos_x_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_pos_x_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_pos_x_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_pos_x_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_pos_x_node_15)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_pos_y_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_pos_y_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_pos_y_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_pos_y_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_pos_y_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_pos_y_node_15)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_speed_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_speed_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_speed_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_speed_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_speed_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_speed_node_15)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_energy_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_energy_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_energy_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_energy_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_energy_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_energy_node_15)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.8)
ax.bar(X, data[1], color = 'purple', width = 0.6)
ax.bar(X, data[2], color = 'red', width = 0.4)
ax.bar(X, data[3], color = 'green', width = 0.2)
ax.legend(['POS X','POS Y','SPEED','ENERGY'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n===============")
print("RMSE of Node 24: ")
print("===============\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_pos_x_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_pos_x_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_pos_x_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_pos_x_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_pos_x_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_pos_x_node_24)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_pos_y_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_pos_y_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_pos_y_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_pos_y_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_pos_y_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_pos_y_node_24)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_speed_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_speed_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_speed_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_speed_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_speed_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_speed_node_24)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_energy_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_energy_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_energy_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_energy_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_energy_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_energy_node_24)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.8)
ax.bar(X, data[1], color = 'purple', width = 0.6)
ax.bar(X, data[2], color = 'red', width = 0.4)
ax.bar(X, data[3], color = 'green', width = 0.2)
ax.legend(['POS X','POS Y','SPEED','ENERGY'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n===============")
print("RMSE of Node 33: ")
print("===============\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_pos_x_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_pos_x_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_pos_x_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_pos_x_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_pos_x_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_pos_x_node_33)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_pos_y_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_pos_y_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_pos_y_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_pos_y_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_pos_y_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_pos_y_node_33)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_speed_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_speed_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_speed_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_speed_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_speed_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_speed_node_33)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_energy_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_energy_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_energy_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_energy_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_energy_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_energy_node_33)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.8)
ax.bar(X, data[1], color = 'purple', width = 0.6)
ax.bar(X, data[2], color = 'red', width = 0.4)
ax.bar(X, data[3], color = 'green', width = 0.2)
ax.legend(['POS X','POS Y','SPEED','ENERGY'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n===============")
print("RMSE of Node 48: ")
print("===============\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_pos_x_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_pos_x_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_pos_x_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_pos_x_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_pos_x_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_pos_x_node_48)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_pos_y_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_pos_y_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_pos_y_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_pos_y_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_pos_y_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_pos_y_node_48)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_speed_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_speed_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_speed_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_speed_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_speed_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_speed_node_48)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_energy_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_energy_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_energy_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_energy_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_energy_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_energy_node_48)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.8)
ax.bar(X, data[1], color = 'purple', width = 0.6)
ax.bar(X, data[2], color = 'red', width = 0.4)
ax.bar(X, data[3], color = 'green', width = 0.2)
ax.legend(['POS X','POS Y','SPEED','ENERGY'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
=============== RMSE of Node 7: ===============
=============== RMSE of Node 15: ===============
=============== RMSE of Node 24: ===============
=============== RMSE of Node 33: ===============
=============== RMSE of Node 48: ===============
path = ('Datasets/Multiple Dataset')
data = [os.path.join(dp, f) for dp, dn, filenames in os.walk(path) for f in filenames if os.path.splitext(f)[1] == '.csv']
print("\n\nName of Datasets that are Used:")
print("===============================\n\n")
for i in data:
print(i)
Name of Datasets that are Used: =============================== Datasets/Multiple Dataset\Hig-DR\node_0.csv Datasets/Multiple Dataset\Hig-DR\node_1.csv Datasets/Multiple Dataset\Hig-DR\node_10.csv Datasets/Multiple Dataset\Hig-DR\node_11.csv Datasets/Multiple Dataset\Hig-DR\node_12.csv Datasets/Multiple Dataset\Hig-DR\node_13.csv Datasets/Multiple Dataset\Hig-DR\node_14.csv Datasets/Multiple Dataset\Hig-DR\node_15.csv Datasets/Multiple Dataset\Hig-DR\node_16.csv Datasets/Multiple Dataset\Hig-DR\node_17.csv Datasets/Multiple Dataset\Hig-DR\node_18.csv Datasets/Multiple Dataset\Hig-DR\node_19.csv Datasets/Multiple Dataset\Hig-DR\node_2.csv Datasets/Multiple Dataset\Hig-DR\node_20.csv Datasets/Multiple Dataset\Hig-DR\node_21.csv Datasets/Multiple Dataset\Hig-DR\node_22.csv Datasets/Multiple Dataset\Hig-DR\node_23.csv Datasets/Multiple Dataset\Hig-DR\node_24.csv Datasets/Multiple Dataset\Hig-DR\node_25.csv Datasets/Multiple Dataset\Hig-DR\node_26.csv Datasets/Multiple Dataset\Hig-DR\node_27.csv Datasets/Multiple Dataset\Hig-DR\node_28.csv Datasets/Multiple Dataset\Hig-DR\node_29.csv Datasets/Multiple Dataset\Hig-DR\node_3.csv Datasets/Multiple Dataset\Hig-DR\node_30.csv Datasets/Multiple Dataset\Hig-DR\node_31.csv Datasets/Multiple Dataset\Hig-DR\node_32.csv Datasets/Multiple Dataset\Hig-DR\node_33.csv Datasets/Multiple Dataset\Hig-DR\node_34.csv Datasets/Multiple Dataset\Hig-DR\node_35.csv Datasets/Multiple Dataset\Hig-DR\node_36.csv Datasets/Multiple Dataset\Hig-DR\node_37.csv Datasets/Multiple Dataset\Hig-DR\node_38.csv Datasets/Multiple Dataset\Hig-DR\node_39.csv Datasets/Multiple Dataset\Hig-DR\node_4.csv Datasets/Multiple Dataset\Hig-DR\node_40.csv Datasets/Multiple Dataset\Hig-DR\node_41.csv Datasets/Multiple Dataset\Hig-DR\node_42.csv Datasets/Multiple Dataset\Hig-DR\node_43.csv Datasets/Multiple Dataset\Hig-DR\node_44.csv Datasets/Multiple Dataset\Hig-DR\node_45.csv Datasets/Multiple Dataset\Hig-DR\node_46.csv Datasets/Multiple Dataset\Hig-DR\node_47.csv Datasets/Multiple Dataset\Hig-DR\node_48.csv Datasets/Multiple Dataset\Hig-DR\node_49.csv Datasets/Multiple Dataset\Hig-DR\node_5.csv Datasets/Multiple Dataset\Hig-DR\node_50.csv Datasets/Multiple Dataset\Hig-DR\node_51.csv Datasets/Multiple Dataset\Hig-DR\node_52.csv Datasets/Multiple Dataset\Hig-DR\node_53.csv Datasets/Multiple Dataset\Hig-DR\node_54.csv Datasets/Multiple Dataset\Hig-DR\node_55.csv Datasets/Multiple Dataset\Hig-DR\node_56.csv Datasets/Multiple Dataset\Hig-DR\node_57.csv Datasets/Multiple Dataset\Hig-DR\node_58.csv Datasets/Multiple Dataset\Hig-DR\node_59.csv Datasets/Multiple Dataset\Hig-DR\node_6.csv Datasets/Multiple Dataset\Hig-DR\node_7.csv Datasets/Multiple Dataset\Hig-DR\node_8.csv Datasets/Multiple Dataset\Hig-DR\node_9.csv Datasets/Multiple Dataset\Low-DR\node_0.csv Datasets/Multiple Dataset\Low-DR\node_1.csv Datasets/Multiple Dataset\Low-DR\node_10.csv Datasets/Multiple Dataset\Low-DR\node_11.csv Datasets/Multiple Dataset\Low-DR\node_12.csv Datasets/Multiple Dataset\Low-DR\node_13.csv Datasets/Multiple Dataset\Low-DR\node_14.csv Datasets/Multiple Dataset\Low-DR\node_15.csv Datasets/Multiple Dataset\Low-DR\node_16.csv Datasets/Multiple Dataset\Low-DR\node_17.csv Datasets/Multiple Dataset\Low-DR\node_18.csv Datasets/Multiple Dataset\Low-DR\node_19.csv Datasets/Multiple Dataset\Low-DR\node_2.csv Datasets/Multiple Dataset\Low-DR\node_20.csv Datasets/Multiple Dataset\Low-DR\node_21.csv Datasets/Multiple Dataset\Low-DR\node_22.csv Datasets/Multiple Dataset\Low-DR\node_23.csv Datasets/Multiple Dataset\Low-DR\node_24.csv Datasets/Multiple Dataset\Low-DR\node_25.csv Datasets/Multiple Dataset\Low-DR\node_26.csv Datasets/Multiple Dataset\Low-DR\node_27.csv Datasets/Multiple Dataset\Low-DR\node_28.csv Datasets/Multiple Dataset\Low-DR\node_29.csv Datasets/Multiple Dataset\Low-DR\node_3.csv Datasets/Multiple Dataset\Low-DR\node_30.csv Datasets/Multiple Dataset\Low-DR\node_31.csv Datasets/Multiple Dataset\Low-DR\node_32.csv Datasets/Multiple Dataset\Low-DR\node_33.csv Datasets/Multiple Dataset\Low-DR\node_34.csv Datasets/Multiple Dataset\Low-DR\node_35.csv Datasets/Multiple Dataset\Low-DR\node_36.csv Datasets/Multiple Dataset\Low-DR\node_37.csv Datasets/Multiple Dataset\Low-DR\node_38.csv Datasets/Multiple Dataset\Low-DR\node_39.csv Datasets/Multiple Dataset\Low-DR\node_4.csv Datasets/Multiple Dataset\Low-DR\node_40.csv Datasets/Multiple Dataset\Low-DR\node_41.csv Datasets/Multiple Dataset\Low-DR\node_42.csv Datasets/Multiple Dataset\Low-DR\node_43.csv Datasets/Multiple Dataset\Low-DR\node_44.csv Datasets/Multiple Dataset\Low-DR\node_45.csv Datasets/Multiple Dataset\Low-DR\node_46.csv Datasets/Multiple Dataset\Low-DR\node_47.csv Datasets/Multiple Dataset\Low-DR\node_48.csv Datasets/Multiple Dataset\Low-DR\node_49.csv Datasets/Multiple Dataset\Low-DR\node_5.csv Datasets/Multiple Dataset\Low-DR\node_50.csv Datasets/Multiple Dataset\Low-DR\node_51.csv Datasets/Multiple Dataset\Low-DR\node_52.csv Datasets/Multiple Dataset\Low-DR\node_53.csv Datasets/Multiple Dataset\Low-DR\node_54.csv Datasets/Multiple Dataset\Low-DR\node_55.csv Datasets/Multiple Dataset\Low-DR\node_56.csv Datasets/Multiple Dataset\Low-DR\node_57.csv Datasets/Multiple Dataset\Low-DR\node_58.csv Datasets/Multiple Dataset\Low-DR\node_59.csv Datasets/Multiple Dataset\Low-DR\node_6.csv Datasets/Multiple Dataset\Low-DR\node_7.csv Datasets/Multiple Dataset\Low-DR\node_8.csv Datasets/Multiple Dataset\Low-DR\node_9.csv Datasets/Multiple Dataset\Med-DR\node_0.csv Datasets/Multiple Dataset\Med-DR\node_1.csv Datasets/Multiple Dataset\Med-DR\node_10.csv Datasets/Multiple Dataset\Med-DR\node_11.csv Datasets/Multiple Dataset\Med-DR\node_12.csv Datasets/Multiple Dataset\Med-DR\node_13.csv Datasets/Multiple Dataset\Med-DR\node_14.csv Datasets/Multiple Dataset\Med-DR\node_15.csv Datasets/Multiple Dataset\Med-DR\node_16.csv Datasets/Multiple Dataset\Med-DR\node_17.csv Datasets/Multiple Dataset\Med-DR\node_18.csv Datasets/Multiple Dataset\Med-DR\node_19.csv Datasets/Multiple Dataset\Med-DR\node_2.csv Datasets/Multiple Dataset\Med-DR\node_20.csv Datasets/Multiple Dataset\Med-DR\node_21.csv Datasets/Multiple Dataset\Med-DR\node_22.csv Datasets/Multiple Dataset\Med-DR\node_23.csv Datasets/Multiple Dataset\Med-DR\node_24.csv Datasets/Multiple Dataset\Med-DR\node_25.csv Datasets/Multiple Dataset\Med-DR\node_26.csv Datasets/Multiple Dataset\Med-DR\node_27.csv Datasets/Multiple Dataset\Med-DR\node_28.csv Datasets/Multiple Dataset\Med-DR\node_29.csv Datasets/Multiple Dataset\Med-DR\node_3.csv Datasets/Multiple Dataset\Med-DR\node_30.csv Datasets/Multiple Dataset\Med-DR\node_31.csv Datasets/Multiple Dataset\Med-DR\node_32.csv Datasets/Multiple Dataset\Med-DR\node_33.csv Datasets/Multiple Dataset\Med-DR\node_34.csv Datasets/Multiple Dataset\Med-DR\node_35.csv Datasets/Multiple Dataset\Med-DR\node_36.csv Datasets/Multiple Dataset\Med-DR\node_37.csv Datasets/Multiple Dataset\Med-DR\node_38.csv Datasets/Multiple Dataset\Med-DR\node_39.csv Datasets/Multiple Dataset\Med-DR\node_4.csv Datasets/Multiple Dataset\Med-DR\node_40.csv Datasets/Multiple Dataset\Med-DR\node_41.csv Datasets/Multiple Dataset\Med-DR\node_42.csv Datasets/Multiple Dataset\Med-DR\node_43.csv Datasets/Multiple Dataset\Med-DR\node_44.csv Datasets/Multiple Dataset\Med-DR\node_45.csv Datasets/Multiple Dataset\Med-DR\node_46.csv Datasets/Multiple Dataset\Med-DR\node_47.csv Datasets/Multiple Dataset\Med-DR\node_48.csv Datasets/Multiple Dataset\Med-DR\node_49.csv Datasets/Multiple Dataset\Med-DR\node_5.csv Datasets/Multiple Dataset\Med-DR\node_50.csv Datasets/Multiple Dataset\Med-DR\node_51.csv Datasets/Multiple Dataset\Med-DR\node_52.csv Datasets/Multiple Dataset\Med-DR\node_53.csv Datasets/Multiple Dataset\Med-DR\node_54.csv Datasets/Multiple Dataset\Med-DR\node_55.csv Datasets/Multiple Dataset\Med-DR\node_56.csv Datasets/Multiple Dataset\Med-DR\node_57.csv Datasets/Multiple Dataset\Med-DR\node_58.csv Datasets/Multiple Dataset\Med-DR\node_59.csv Datasets/Multiple Dataset\Med-DR\node_6.csv Datasets/Multiple Dataset\Med-DR\node_7.csv Datasets/Multiple Dataset\Med-DR\node_8.csv Datasets/Multiple Dataset\Med-DR\node_9.csv
all_data_training = pd.DataFrame()
all_data_testing = pd.DataFrame()
for i in data:
sample_data = pd .read_csv(i)
all_data_training = all_data_training.append(sample_data.head(650))
all_data_testing = all_data_testing.append(sample_data[650:750])
all_data_training = all_data_training.drop("Time", axis = 1)
all_data_training = all_data_training.drop("Node", axis = 1)
all_data_training.reset_index(drop=True, inplace=True)
all_data_testing = all_data_testing.drop("Time", axis = 1)
all_data_testing = all_data_testing.drop("Node", axis = 1)
all_data_testing.reset_index(drop=True, inplace=True)
print("\n\nMain Dataset that is Used:")
print("==========================\n\n")
print("Training Dataset:\n\n")
print(all_data_training)
print("\n\nTesting Dataset:\n\n")
print(all_data_testing)
Main Dataset that is Used:
==========================
Training Dataset:
pos_x pos_y speed energy
0 307.922 503.508 0.000000 121.188655
1 307.871 503.345 1.974358 120.165500
2 306.494 504.296 1.974358 119.142345
3 305.116 505.246 1.974358 118.119190
4 303.738 506.197 1.974358 117.096035
... ... ... ... ...
116995 223.377 451.449 1.591080 294.398640
116996 223.885 450.748 1.591080 290.438050
116997 224.393 450.046 1.591080 286.477460
116998 224.901 449.344 1.591080 282.516870
116999 225.409 448.643 1.591080 278.556280
[117000 rows x 4 columns]
Testing Dataset:
pos_x pos_y speed energy
0 204.428 583.988 0.0 0.0
1 204.428 583.988 0.0 0.0
2 204.428 583.988 0.0 0.0
3 204.428 583.988 0.0 0.0
4 204.428 583.988 0.0 0.0
... ... ... ... ...
17995 210.673 468.992 0.0 0.0
17996 210.673 468.992 0.0 0.0
17997 210.673 468.992 0.0 0.0
17998 210.673 468.992 0.0 0.0
17999 210.673 468.992 0.0 0.0
[18000 rows x 4 columns]
X_data_training = all_data_training[0:-1]
X_data_training.reset_index(drop=True, inplace=True)
X_data_testing = all_data_testing[0:-1]
X_data_testing.reset_index(drop=True, inplace=True)
y_data_training = all_data_training[1:]
y_data_training.reset_index(drop=True, inplace=True)
y_data_training.columns = ["pos_x_result","pos_y_result","speed_result","energy_result"]
y_data_testing = all_data_testing[1:]
y_data_testing.reset_index(drop=True, inplace=True)
y_data_testing.columns = ["pos_x_result","pos_y_result","speed_result","energy_result"]
X_training_data = X_data_training
X_testing_data = X_data_testing
y_training_data = y_data_training
y_testing_data = y_data_testing
y_training_data.reset_index(drop=True, inplace=True)
y_testing_data.reset_index(drop=True, inplace=True)
y_training_data_pos_x = y_training_data["pos_x_result"]
y_training_data_pos_y = y_training_data["pos_y_result"]
y_training_data_speed = y_training_data["speed_result"]
y_training_data_energy = y_training_data["energy_result"]
y_testing_data_pos_x = y_testing_data["pos_x_result"]
y_testing_data_pos_y = y_testing_data["pos_y_result"]
y_testing_data_speed = y_testing_data["speed_result"]
y_testing_data_energy = y_testing_data["energy_result"]
scaler=MinMaxScaler(feature_range=(0,1))
X_training_data_scale=scaler.fit_transform(np.array(X_training_data))
X_testing_data_scale=scaler.fit_transform(np.array(X_testing_data))
X_training_data_reshaped = X_training_data_scale.reshape(X_training_data_scale.shape[0],X_training_data_scale.shape[1] , 1)
X_testing_data_reshaped = X_testing_data_scale.reshape(X_testing_data_scale.shape[0],X_testing_data_scale.shape[1] , 1)
class timecallback1(tf.keras.callbacks.Callback):
def __init__(self):
self.times = []
self.timetaken = time.process_time()
def on_epoch_end(self,epoch,logs = {}):
self.times.append((epoch,time.process_time() - self.timetaken))
def on_train_end(self,logs = {}):
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.plot(*zip(*self.times))
plt.show()
class timecallback2(tf.keras.callbacks.Callback):
def __init__(self):
self.times = []
self.timetaken = time.process_time()
def on_epoch_end(self,epoch,logs = {}):
self.times.append((epoch,time.process_time() - self.timetaken))
def on_train_end(self,logs = {}):
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.plot(*zip(*self.times))
plt.show()
class timecallback3(tf.keras.callbacks.Callback):
def __init__(self):
self.times = []
self.timetaken = time.process_time()
def on_epoch_end(self,epoch,logs = {}):
self.times.append((epoch,time.process_time() - self.timetaken))
def on_train_end(self,logs = {}):
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.plot(*zip(*self.times))
plt.show()
class timecallback4(tf.keras.callbacks.Callback):
def __init__(self):
self.times = []
self.timetaken = time.process_time()
def on_epoch_end(self,epoch,logs = {}):
self.times.append((epoch,time.process_time() - self.timetaken))
def on_train_end(self,logs = {}):
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.plot(*zip(*self.times))
plt.show()
class timecallback5(tf.keras.callbacks.Callback):
def __init__(self):
self.times = []
self.timetaken = time.process_time()
def on_epoch_end(self,epoch,logs = {}):
self.times.append((epoch,time.process_time() - self.timetaken))
def on_train_end(self,logs = {}):
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.plot(*zip(*self.times))
plt.show()
class timecallback6(tf.keras.callbacks.Callback):
def __init__(self):
self.times = []
self.timetaken = time.process_time()
def on_epoch_end(self,epoch,logs = {}):
self.times.append((epoch,time.process_time() - self.timetaken))
def on_train_end(self,logs = {}):
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.plot(*zip(*self.times))
plt.show()
class timecallback7(tf.keras.callbacks.Callback):
def __init__(self):
self.times = []
self.timetaken = time.process_time()
def on_epoch_end(self,epoch,logs = {}):
self.times.append((epoch,time.process_time() - self.timetaken))
def on_train_end(self,logs = {}):
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.plot(*zip(*self.times))
plt.show()
def plottime(timetaken_pos_x,timetaken_pos_y,timetaken_speed,timetaken_energy):
timetaken4 = []
alist = []
for i in range(len(timetaken_pos_x)):
timetaken4.append(timetaken_pos_x[i][1])
timetaken4.append(timetaken_pos_y[i][1])
timetaken4.append(timetaken_speed[i][1])
timetaken4.append(timetaken_energy[i][1])
alist.append(timetaken4)
timetaken4 = []
return(alist)
Stacked_LSTM_Model_pos_x = Sequential()
Stacked_LSTM_Model_pos_x.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_pos_x.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_pos_x.add(LSTM(50))
Stacked_LSTM_Model_pos_x.add(Dense(1))
Stacked_LSTM_Model_pos_x.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_pos_y=Sequential()
Stacked_LSTM_Model_pos_y.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_pos_y.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_pos_y.add(LSTM(50))
Stacked_LSTM_Model_pos_y.add(Dense(1))
Stacked_LSTM_Model_pos_y.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_speed=Sequential()
Stacked_LSTM_Model_speed.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_speed.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_speed.add(LSTM(50))
Stacked_LSTM_Model_speed.add(Dense(1))
Stacked_LSTM_Model_speed.compile(loss='mean_squared_error',optimizer='adam')
Stacked_LSTM_Model_energy=Sequential()
Stacked_LSTM_Model_energy.add(LSTM(50,return_sequences=True,input_shape=(4,1)))
Stacked_LSTM_Model_energy.add(LSTM(50,return_sequences=True))
Stacked_LSTM_Model_energy.add(LSTM(50))
Stacked_LSTM_Model_energy.add(Dense(1))
Stacked_LSTM_Model_energy.compile(loss='mean_squared_error',optimizer='adam')
timetaken_Stacked_LSTM_Model_pos_x = timecallback1()
timetaken_Stacked_LSTM_Model_pos_y = timecallback1()
timetaken_Stacked_LSTM_Model_speed = timecallback1()
timetaken_Stacked_LSTM_Model_energy = timecallback1()
Stacked_LSTM_Model_pos_x.fit(X_training_data_reshaped,y_training_data_pos_x,validation_data=(X_testing_data_reshaped,y_testing_data_pos_x),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_Stacked_LSTM_Model_pos_x])
Stacked_LSTM_Model_pos_y.fit(X_training_data_reshaped,y_training_data_pos_y,validation_data=(X_testing_data_reshaped,y_testing_data_pos_y),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_Stacked_LSTM_Model_pos_y])
Stacked_LSTM_Model_speed.fit(X_training_data_reshaped,y_training_data_speed,validation_data=(X_testing_data_reshaped,y_testing_data_speed),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_Stacked_LSTM_Model_speed])
Stacked_LSTM_Model_energy.fit(X_training_data_reshaped,y_training_data_energy,validation_data=(X_testing_data_reshaped,y_testing_data_energy),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_Stacked_LSTM_Model_energy])
Epoch 1/5 1829/1829 [==============================] - 27s 11ms/step - loss: 81570.2744 - val_loss: 51727.4961 Epoch 2/5 1829/1829 [==============================] - 18s 10ms/step - loss: 46146.9497 - val_loss: 30678.4590 Epoch 3/5 1829/1829 [==============================] - 18s 10ms/step - loss: 27360.9563 - val_loss: 15573.7168 Epoch 4/5 1829/1829 [==============================] - 18s 10ms/step - loss: 12983.8727 - val_loss: 7571.6685 Epoch 5/5 1829/1829 [==============================] - 18s 10ms/step - loss: 6068.0599 - val_loss: 3751.4653
Epoch 1/5 1829/1829 [==============================] - 26s 10ms/step - loss: 76215.4671 - val_loss: 49348.3672 Epoch 2/5 1829/1829 [==============================] - 16s 9ms/step - loss: 45051.4843 - val_loss: 32321.6895 Epoch 3/5 1829/1829 [==============================] - 16s 9ms/step - loss: 30387.5768 - val_loss: 26208.3691 Epoch 4/5 1829/1829 [==============================] - 17s 9ms/step - loss: 25396.4636 - val_loss: 25431.1543 Epoch 5/5 1829/1829 [==============================] - 18s 10ms/step - loss: 24731.4805 - val_loss: 25464.9824
Epoch 1/5 1829/1829 [==============================] - 31s 12ms/step - loss: 3.1066 - val_loss: 2.9942 Epoch 2/5 1829/1829 [==============================] - 23s 12ms/step - loss: 0.2317 - val_loss: 1.3367 Epoch 3/5 1829/1829 [==============================] - 17s 9ms/step - loss: 0.2397 - val_loss: 0.7172 Epoch 4/5 1829/1829 [==============================] - 16s 9ms/step - loss: 0.2206 - val_loss: 0.5188 Epoch 5/5 1829/1829 [==============================] - 17s 9ms/step - loss: 0.2311 - val_loss: 0.4419
Epoch 1/5 1829/1829 [==============================] - 29s 12ms/step - loss: 1497688.9598 - val_loss: 489989.0312 Epoch 2/5 1829/1829 [==============================] - 18s 10ms/step - loss: 1343236.6204 - val_loss: 428110.4062 Epoch 3/5 1829/1829 [==============================] - 18s 10ms/step - loss: 1189208.3846 - val_loss: 382611.5000 Epoch 4/5 1829/1829 [==============================] - 17s 10ms/step - loss: 1037805.2610 - val_loss: 352568.6875 Epoch 5/5 1829/1829 [==============================] - 19s 10ms/step - loss: 931407.6512 - val_loss: 337516.1875
<tensorflow.python.keras.callbacks.History at 0x1969d1c9580>
print("\n\n==================================================")
print(" TIME TAKEN BY STACKED LSTM ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(10, 5)
plt.plot(plottime(timetaken_Stacked_LSTM_Model_pos_x.times,timetaken_Stacked_LSTM_Model_pos_y.times,timetaken_Stacked_LSTM_Model_speed.times,timetaken_Stacked_LSTM_Model_energy.times))
plt.title('TIME')
plt.legend(['POS X','POS Y', "SPEED", "ENERGY"], loc='upper left')
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.show()
==================================================
TIME TAKEN BY STACKED LSTM
==================================================
train_predict_Stacked_LSTM_Model_pos_x = Stacked_LSTM_Model_pos_x.predict(X_training_data_reshaped)
test_predict_Stacked_LSTM_Model_pos_x = Stacked_LSTM_Model_pos_x.predict(X_testing_data_reshaped)
train_predict_Stacked_LSTM_Model_pos_y = Stacked_LSTM_Model_pos_y.predict(X_training_data_reshaped)
test_predict_Stacked_LSTM_Model_pos_y = Stacked_LSTM_Model_pos_y.predict(X_testing_data_reshaped)
train_predict_Stacked_LSTM_Model_speed = Stacked_LSTM_Model_speed.predict(X_training_data_reshaped)
test_predict_Stacked_LSTM_Model_speed = Stacked_LSTM_Model_speed.predict(X_testing_data_reshaped)
train_predict_Stacked_LSTM_Model_energy = Stacked_LSTM_Model_energy.predict(X_training_data_reshaped)
test_predict_Stacked_LSTM_Model_energy = Stacked_LSTM_Model_energy.predict(X_testing_data_reshaped)
print("\n\nPredictions Returned by Stacked LSTM: ")
print("=====================================\n\n")
df_prediction_Stacked_LSTM = pd.DataFrame()
df_prediction_Stacked_LSTM["Pos X Actual"] = y_testing_data_pos_x
df_prediction_Stacked_LSTM["Pos X Predicted"] = test_predict_Stacked_LSTM_Model_pos_x
df_prediction_Stacked_LSTM["Pos Y Actual"] = y_testing_data_pos_y
df_prediction_Stacked_LSTM["Pos Y Predicted"] = test_predict_Stacked_LSTM_Model_pos_y
df_prediction_Stacked_LSTM["Speed Actual"] = y_testing_data_speed
df_prediction_Stacked_LSTM["Speed Predicted"] = test_predict_Stacked_LSTM_Model_speed
df_prediction_Stacked_LSTM["Energy Actual"] = y_testing_data_energy
df_prediction_Stacked_LSTM["Energy Predicted"] = test_predict_Stacked_LSTM_Model_energy
print(df_prediction_Stacked_LSTM)
Predictions Returned by Stacked LSTM:
=====================================
Pos X Actual Pos X Predicted Pos Y Actual Pos Y Predicted \
0 204.428 209.718674 583.988 258.440094
1 204.428 209.718674 583.988 258.440094
2 204.428 209.718674 583.988 258.440094
3 204.428 209.718674 583.988 258.440094
4 204.428 209.718674 583.988 258.440094
... ... ... ... ...
17994 210.673 214.694153 468.992 258.440125
17995 210.673 214.694153 468.992 258.440125
17996 210.673 214.694153 468.992 258.440125
17997 210.673 214.694153 468.992 258.440125
17998 210.673 214.694153 468.992 258.440125
Speed Actual Speed Predicted Energy Actual Energy Predicted
0 0.0 -0.004185 0.0 451.944275
1 0.0 -0.004185 0.0 451.944275
2 0.0 -0.004185 0.0 451.944275
3 0.0 -0.004185 0.0 451.944275
4 0.0 -0.004185 0.0 451.944275
... ... ... ... ...
17994 0.0 -0.005373 0.0 451.944275
17995 0.0 -0.005373 0.0 451.944275
17996 0.0 -0.005373 0.0 451.944275
17997 0.0 -0.005373 0.0 451.944275
17998 0.0 -0.005373 0.0 451.944275
[17999 rows x 8 columns]
print("\n\nRMSE on Training Data by Stacked LSTM: ")
print("======================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x,train_predict_Stacked_LSTM_Model_pos_x)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y,train_predict_Stacked_LSTM_Model_pos_y)))
print(math.sqrt(mean_squared_error(y_training_data_speed,train_predict_Stacked_LSTM_Model_speed)))
print(math.sqrt(mean_squared_error(y_training_data_energy,train_predict_Stacked_LSTM_Model_energy)))
print("\n\nRMSE on Testing Data by Stacked LSTM: ")
print("=====================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_pos_x)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_Stacked_LSTM_Model_pos_y)))
print(math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_Stacked_LSTM_Model_speed)))
print(math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_Stacked_LSTM_Model_energy)))
RMSE on Training Data by Stacked LSTM: ====================================== 58.37254251538838 157.34467053001828 0.4712893586006386 921.6971831440678 RMSE on Testing Data by Stacked LSTM: ===================================== 61.24921169192751 159.57752386657987 0.6647372753997914 580.9612708079775
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x)
plt.plot(test_predict_Stacked_LSTM_Model_pos_x)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y)
plt.plot(test_predict_Stacked_LSTM_Model_pos_y)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed)
plt.plot(test_predict_Stacked_LSTM_Model_speed)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy)
plt.plot(test_predict_Stacked_LSTM_Model_energy)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
X_training_data_reshaped_cnn = X_training_data_scale.reshape(X_training_data_scale.shape[0],1,X_training_data_scale.shape[1] , 1)
X_testing_data_reshaped_cnn = X_testing_data_scale.reshape(X_testing_data_scale.shape[0],1,X_testing_data_scale.shape[1] , 1)
CNN_LSTM_Model_pos_x = Sequential()
CNN_LSTM_Model_pos_x.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_pos_x.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_pos_x.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_pos_x.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_pos_x.add(Dense(1))
CNN_LSTM_Model_pos_x.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_pos_y = Sequential()
CNN_LSTM_Model_pos_y.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_pos_y.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_pos_y.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_pos_y.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_pos_y.add(Dense(1))
CNN_LSTM_Model_pos_y.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_speed = Sequential()
CNN_LSTM_Model_speed.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_speed.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_speed.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_speed.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_speed.add(Dense(1))
CNN_LSTM_Model_speed.compile(loss='mean_squared_error',optimizer='adam')
CNN_LSTM_Model_energy = Sequential()
CNN_LSTM_Model_energy.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, 4, 1)))
CNN_LSTM_Model_energy.add(TimeDistributed(MaxPooling1D(pool_size=2)))
CNN_LSTM_Model_energy.add(TimeDistributed(Flatten()))
CNN_LSTM_Model_energy.add(LSTM(50, activation='relu'))
CNN_LSTM_Model_energy.add(Dense(1))
CNN_LSTM_Model_energy.compile(loss='mean_squared_error',optimizer='adam')
timetaken_CNN_LSTM_Model_pos_x = timecallback2()
timetaken_CNN_LSTM_Model_pos_y = timecallback2()
timetaken_CNN_LSTM_Model_speed = timecallback2()
timetaken_CNN_LSTM_Model_energy = timecallback2()
CNN_LSTM_Model_pos_x.fit(X_training_data_reshaped_cnn,y_training_data_pos_x,validation_data=(X_testing_data_reshaped_cnn,y_testing_data_pos_x),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_CNN_LSTM_Model_pos_x])
CNN_LSTM_Model_pos_y.fit(X_training_data_reshaped_cnn,y_training_data_pos_y,validation_data=(X_testing_data_reshaped_cnn,y_testing_data_pos_y),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_CNN_LSTM_Model_pos_y])
CNN_LSTM_Model_speed.fit(X_training_data_reshaped_cnn,y_training_data_speed,validation_data=(X_testing_data_reshaped_cnn,y_testing_data_speed),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_CNN_LSTM_Model_speed])
CNN_LSTM_Model_energy.fit(X_training_data_reshaped_cnn,y_training_data_energy,validation_data=(X_testing_data_reshaped_cnn,y_testing_data_energy),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_CNN_LSTM_Model_energy])
Epoch 1/5 1829/1829 [==============================] - 7s 3ms/step - loss: 38908.5114 - val_loss: 10747.5811 Epoch 2/5 1829/1829 [==============================] - 5s 3ms/step - loss: 10184.3334 - val_loss: 10540.9326 Epoch 3/5 1829/1829 [==============================] - 5s 3ms/step - loss: 10120.0360 - val_loss: 10530.2949 Epoch 4/5 1829/1829 [==============================] - 5s 3ms/step - loss: 10099.8749 - val_loss: 10533.6064 Epoch 5/5 1829/1829 [==============================] - 5s 3ms/step - loss: 9893.1339 - val_loss: 10438.9150
Epoch 1/5 1/1829 [..............................] - ETA: 53:26 - loss: 98367.8359WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0018s vs `on_train_batch_end` time: 0.0031s). Check your callbacks. 1829/1829 [==============================] - 7s 3ms/step - loss: 42879.4923 - val_loss: 17516.8184 Epoch 2/5 1829/1829 [==============================] - 5s 3ms/step - loss: 15855.3817 - val_loss: 17161.2402 Epoch 3/5 1829/1829 [==============================] - 6s 3ms/step - loss: 15510.2799 - val_loss: 17403.1953 Epoch 4/5 1829/1829 [==============================] - 6s 3ms/step - loss: 15424.0000 - val_loss: 17432.6191 Epoch 5/5 1829/1829 [==============================] - 5s 3ms/step - loss: 15432.0166 - val_loss: 17807.0840
Epoch 1/5 1829/1829 [==============================] - 7s 3ms/step - loss: 2.8771 - val_loss: 1.3213 Epoch 2/5 1829/1829 [==============================] - 5s 3ms/step - loss: 0.2081 - val_loss: 1.3475 Epoch 3/5 1829/1829 [==============================] - 5s 3ms/step - loss: 0.2301 - val_loss: 1.2994 Epoch 4/5 1829/1829 [==============================] - 5s 3ms/step - loss: 0.2070 - val_loss: 1.2630 Epoch 5/5 1829/1829 [==============================] - 5s 3ms/step - loss: 0.2228 - val_loss: 1.2825
Epoch 1/5 1829/1829 [==============================] - 7s 3ms/step - loss: 982434.8077 - val_loss: 491352.3438 Epoch 2/5 1829/1829 [==============================] - 5s 3ms/step - loss: 536544.3404 - val_loss: 499125.5625 Epoch 3/5 1829/1829 [==============================] - 5s 3ms/step - loss: 530912.0473 - val_loss: 515408.1250 Epoch 4/5 1829/1829 [==============================] - 5s 3ms/step - loss: 533769.1806 - val_loss: 492322.4688 Epoch 5/5 1829/1829 [==============================] - 5s 3ms/step - loss: 542602.5698 - val_loss: 476677.8438
<tensorflow.python.keras.callbacks.History at 0x196b6e7f550>
print("\n\n==================================================")
print(" TIME TAKEN BY CNN LSTM ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(10, 5)
plt.plot(plottime(timetaken_CNN_LSTM_Model_pos_x.times,timetaken_CNN_LSTM_Model_pos_y.times,timetaken_CNN_LSTM_Model_speed.times,timetaken_CNN_LSTM_Model_energy.times))
plt.title('TIME')
plt.legend(['POS X','POS Y', "SPEED", "ENERGY"], loc='upper left')
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.show()
==================================================
TIME TAKEN BY CNN LSTM
==================================================
train_predict_CNN_LSTM_Model_pos_x = CNN_LSTM_Model_pos_x.predict(X_training_data_reshaped_cnn)
test_predict_CNN_LSTM_Model_pos_x = CNN_LSTM_Model_pos_x.predict(X_testing_data_reshaped_cnn)
train_predict_CNN_LSTM_Model_pos_y = CNN_LSTM_Model_pos_y.predict(X_training_data_reshaped_cnn)
test_predict_CNN_LSTM_Model_pos_y = CNN_LSTM_Model_pos_y.predict(X_testing_data_reshaped_cnn)
train_predict_CNN_LSTM_Model_speed = CNN_LSTM_Model_speed.predict(X_training_data_reshaped_cnn)
test_predict_CNN_LSTM_Model_speed = CNN_LSTM_Model_speed.predict(X_testing_data_reshaped_cnn)
train_predict_CNN_LSTM_Model_energy = CNN_LSTM_Model_energy.predict(X_training_data_reshaped_cnn)
test_predict_CNN_LSTM_Model_energy = CNN_LSTM_Model_energy.predict(X_testing_data_reshaped_cnn)
print("\n\nPredictions Returned by CNN LSTM: ")
print("=================================\n\n")
df_prediction_CNN_LSTM = pd.DataFrame()
df_prediction_CNN_LSTM["Pos X Actual"] = y_testing_data_pos_x
df_prediction_CNN_LSTM["Pos X Predicted"] = test_predict_CNN_LSTM_Model_pos_x
df_prediction_CNN_LSTM["Pos Y Actual"] = y_testing_data_pos_y
df_prediction_CNN_LSTM["Pos Y Predicted"] = test_predict_CNN_LSTM_Model_pos_y
df_prediction_CNN_LSTM["Speed Actual"] = y_testing_data_speed
df_prediction_CNN_LSTM["Speed Predicted"] = test_predict_CNN_LSTM_Model_speed
df_prediction_CNN_LSTM["Energy Actual"] = y_testing_data_energy
df_prediction_CNN_LSTM["Energy Predicted"] = test_predict_CNN_LSTM_Model_energy
print(df_prediction_CNN_LSTM)
Predictions Returned by CNN LSTM:
=================================
Pos X Actual Pos X Predicted Pos Y Actual Pos Y Predicted \
0 204.428 402.461395 583.988 528.332214
1 204.428 402.461395 583.988 528.332214
2 204.428 402.461395 583.988 528.332214
3 204.428 402.461395 583.988 528.332214
4 204.428 402.461395 583.988 528.332214
... ... ... ... ...
17994 210.673 340.185272 468.992 412.224121
17995 210.673 340.185272 468.992 412.224121
17996 210.673 340.185272 468.992 412.224121
17997 210.673 340.185272 468.992 412.224121
17998 210.673 340.185272 468.992 412.224121
Speed Actual Speed Predicted Energy Actual Energy Predicted
0 0.0 0.020494 0.0 819.862000
1 0.0 0.020494 0.0 819.862000
2 0.0 0.020494 0.0 819.862000
3 0.0 0.020494 0.0 819.862000
4 0.0 0.020494 0.0 819.862000
... ... ... ... ...
17994 0.0 0.024752 0.0 803.092529
17995 0.0 0.024752 0.0 803.092529
17996 0.0 0.024752 0.0 803.092529
17997 0.0 0.024752 0.0 803.092529
17998 0.0 0.024752 0.0 803.092529
[17999 rows x 8 columns]
print("\n\nRMSE on Training Data by CNN LSTM: ")
print("==================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x,train_predict_CNN_LSTM_Model_pos_x)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y,train_predict_CNN_LSTM_Model_pos_y)))
print(math.sqrt(mean_squared_error(y_training_data_speed,train_predict_CNN_LSTM_Model_speed)))
print(math.sqrt(mean_squared_error(y_training_data_energy,train_predict_CNN_LSTM_Model_energy)))
print("\n\nRMSE on Testing Data by CNN LSTM: ")
print("==================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_pos_x)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_CNN_LSTM_Model_pos_y)))
print(math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_CNN_LSTM_Model_speed)))
print(math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_CNN_LSTM_Model_energy)))
RMSE on Training Data by CNN LSTM: ================================== 99.8678195852092 124.6874789630821 0.45566232479038715 731.2833863598536 RMSE on Testing Data by CNN LSTM: ================================== 102.1710234948836 133.44322081508946 1.1324576016620895 690.4185139473112
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x)
plt.plot(test_predict_CNN_LSTM_Model_pos_x)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y)
plt.plot(test_predict_CNN_LSTM_Model_pos_y)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed)
plt.plot(test_predict_CNN_LSTM_Model_speed)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy)
plt.plot(test_predict_CNN_LSTM_Model_energy)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
LSTM_Model_pos_x = Sequential()
LSTM_Model_pos_x.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_pos_x.add(Dense(1))
LSTM_Model_pos_x.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_pos_y = Sequential()
LSTM_Model_pos_y.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_pos_y.add(Dense(1))
LSTM_Model_pos_y.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_speed = Sequential()
LSTM_Model_speed.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_speed.add(Dense(1))
LSTM_Model_speed.compile(loss='mean_squared_error',optimizer='adam')
LSTM_Model_energy = Sequential()
LSTM_Model_energy.add(LSTM(50,input_shape=(4,1)))
LSTM_Model_energy.add(Dense(1))
LSTM_Model_energy.compile(loss='mean_squared_error',optimizer='adam')
timetaken_LSTM_Model_pos_x = timecallback3()
timetaken_LSTM_Model_pos_y = timecallback3()
timetaken_LSTM_Model_speed = timecallback3()
timetaken_LSTM_Model_energy = timecallback3()
LSTM_Model_pos_x.fit(X_training_data_reshaped,y_training_data_pos_x,validation_data=(X_testing_data_reshaped,y_testing_data_pos_x),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_LSTM_Model_pos_x])
LSTM_Model_pos_y.fit(X_training_data_reshaped,y_training_data_pos_y,validation_data=(X_testing_data_reshaped,y_testing_data_pos_y),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_LSTM_Model_pos_y])
LSTM_Model_speed.fit(X_training_data_reshaped,y_training_data_speed,validation_data=(X_testing_data_reshaped,y_testing_data_speed),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_LSTM_Model_speed])
LSTM_Model_energy.fit(X_training_data_reshaped,y_training_data_energy,validation_data=(X_testing_data_reshaped,y_testing_data_energy),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_LSTM_Model_energy])
Epoch 1/5 1829/1829 [==============================] - 10s 4ms/step - loss: 81832.0552 - val_loss: 50810.2930 Epoch 2/5 1829/1829 [==============================] - 7s 4ms/step - loss: 44973.3411 - val_loss: 30087.6699 Epoch 3/5 1829/1829 [==============================] - 7s 4ms/step - loss: 27178.1999 - val_loss: 21435.4453 Epoch 4/5 1829/1829 [==============================] - 8s 4ms/step - loss: 18436.4360 - val_loss: 8218.7969 Epoch 5/5 1829/1829 [==============================] - 7s 4ms/step - loss: 6584.8776 - val_loss: 3851.5674
Epoch 1/5 1829/1829 [==============================] - 10s 4ms/step - loss: 75999.9022 - val_loss: 48443.2539 Epoch 2/5 1829/1829 [==============================] - 7s 4ms/step - loss: 44144.8976 - val_loss: 31831.8848 Epoch 3/5 1829/1829 [==============================] - 7s 4ms/step - loss: 30023.7598 - val_loss: 26108.3887 Epoch 4/5 1829/1829 [==============================] - 7s 4ms/step - loss: 25408.2239 - val_loss: 25432.1211 Epoch 5/5 1829/1829 [==============================] - 7s 4ms/step - loss: 22799.6204 - val_loss: 8290.9033
Epoch 1/5 1829/1829 [==============================] - 10s 4ms/step - loss: 3.2661 - val_loss: 0.4206 Epoch 2/5 1829/1829 [==============================] - 7s 4ms/step - loss: 0.2270 - val_loss: 0.4716 Epoch 3/5 1829/1829 [==============================] - 7s 4ms/step - loss: 0.2188 - val_loss: 0.4448 Epoch 4/5 1829/1829 [==============================] - 7s 4ms/step - loss: 0.2288 - val_loss: 0.4051 Epoch 5/5 1829/1829 [==============================] - 7s 4ms/step - loss: 0.2120 - val_loss: 0.3906
Epoch 1/5 1829/1829 [==============================] - 10s 4ms/step - loss: 1486240.5685 - val_loss: 488824.0000 Epoch 2/5 1829/1829 [==============================] - 7s 4ms/step - loss: 1314580.7353 - val_loss: 426992.8125 Epoch 3/5 1829/1829 [==============================] - 7s 4ms/step - loss: 1153391.8596 - val_loss: 381654.6875 Epoch 4/5 1829/1829 [==============================] - 7s 4ms/step - loss: 1046974.2002 - val_loss: 352002.4062 Epoch 5/5 1829/1829 [==============================] - 7s 4ms/step - loss: 911440.3258 - val_loss: 337320.9688
<tensorflow.python.keras.callbacks.History at 0x196c954fa90>
print("\n\n==================================================")
print(" TIME TAKEN BY LSTM ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(10, 5)
plt.plot(plottime(timetaken_LSTM_Model_pos_x.times,timetaken_LSTM_Model_pos_y.times,timetaken_LSTM_Model_speed.times,timetaken_LSTM_Model_energy.times))
plt.title('TIME')
plt.legend(['POS X','POS Y', "SPEED", "ENERGY"], loc='upper left')
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.show()
==================================================
TIME TAKEN BY LSTM
==================================================
train_predict_LSTM_Model_pos_x = LSTM_Model_pos_x.predict(X_training_data_reshaped)
test_predict_LSTM_Model_pos_x = LSTM_Model_pos_x.predict(X_testing_data_reshaped)
train_predict_LSTM_Model_pos_y = LSTM_Model_pos_y.predict(X_training_data_reshaped)
test_predict_LSTM_Model_pos_y = LSTM_Model_pos_y.predict(X_testing_data_reshaped)
train_predict_LSTM_Model_speed = LSTM_Model_speed.predict(X_training_data_reshaped)
test_predict_LSTM_Model_speed = LSTM_Model_speed.predict(X_testing_data_reshaped)
train_predict_LSTM_Model_energy = LSTM_Model_energy.predict(X_training_data_reshaped)
test_predict_LSTM_Model_energy = LSTM_Model_energy.predict(X_testing_data_reshaped)
print("\n\nPredictions Returned by LSTM: ")
print("=============================\n\n")
df_prediction_LSTM = pd.DataFrame()
df_prediction_LSTM["Pos X Actual"] = y_testing_data_pos_x
df_prediction_LSTM["Pos X Predicted"] = test_predict_LSTM_Model_pos_x
df_prediction_LSTM["Pos Y Actual"] = y_testing_data_pos_y
df_prediction_LSTM["Pos Y Predicted"] = test_predict_LSTM_Model_pos_y
df_prediction_LSTM["Speed Actual"] = y_testing_data_speed
df_prediction_LSTM["Speed Predicted"] = test_predict_LSTM_Model_speed
df_prediction_LSTM["Energy Actual"] = y_testing_data_energy
df_prediction_LSTM["Energy Predicted"] = test_predict_LSTM_Model_energy
print(df_prediction_LSTM)
Predictions Returned by LSTM:
=============================
Pos X Actual Pos X Predicted Pos Y Actual Pos Y Predicted \
0 204.428 201.097336 583.988 321.968933
1 204.428 201.097336 583.988 321.968933
2 204.428 201.097336 583.988 321.968933
3 204.428 201.097336 583.988 321.968933
4 204.428 201.097336 583.988 321.968933
... ... ... ... ...
17994 210.673 203.813965 468.992 321.278107
17995 210.673 203.813965 468.992 321.278107
17996 210.673 203.813965 468.992 321.278107
17997 210.673 203.813965 468.992 321.278107
17998 210.673 203.813965 468.992 321.278107
Speed Actual Speed Predicted Energy Actual Energy Predicted
0 0.0 -0.110139 0.0 454.125641
1 0.0 -0.110139 0.0 454.125641
2 0.0 -0.110139 0.0 454.125641
3 0.0 -0.110139 0.0 454.125641
4 0.0 -0.110139 0.0 454.125641
... ... ... ... ...
17994 0.0 -0.125710 0.0 454.126526
17995 0.0 -0.125710 0.0 454.126526
17996 0.0 -0.125711 0.0 454.126526
17997 0.0 -0.125711 0.0 454.126526
17998 0.0 -0.125711 0.0 454.126526
[17999 rows x 8 columns]
print("\n\nRMSE on Training Data by LSTM: ")
print("==============================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x,train_predict_LSTM_Model_pos_x)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y,train_predict_LSTM_Model_pos_y)))
print(math.sqrt(mean_squared_error(y_training_data_speed,train_predict_LSTM_Model_speed)))
print(math.sqrt(mean_squared_error(y_training_data_energy,train_predict_LSTM_Model_energy)))
print("\n\nRMSE on Training Data by LSTM: ")
print("=============================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_pos_x)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_LSTM_Model_pos_y)))
print(math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_LSTM_Model_speed)))
print(math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_LSTM_Model_energy)))
RMSE on Training Data by LSTM: ============================== 59.17666556839156 89.15748689711326 0.4730585962760645 920.4088801303808 RMSE on Training Data by LSTM: ============================= 62.06099552130979 91.05439630731244 0.6249464855007287 580.793525264608
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x)
plt.plot(test_predict_LSTM_Model_pos_x)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y)
plt.plot(test_predict_LSTM_Model_pos_y)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed)
plt.plot(test_predict_LSTM_Model_speed)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy)
plt.plot(test_predict_LSTM_Model_energy)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
BiDirectonal_LSTM_Model_pos_x = Sequential()
BiDirectonal_LSTM_Model_pos_x.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_pos_x.add(Dense(1))
BiDirectonal_LSTM_Model_pos_x.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_pos_y = Sequential()
BiDirectonal_LSTM_Model_pos_y.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_pos_y.add(Dense(1))
BiDirectonal_LSTM_Model_pos_y.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_speed = Sequential()
BiDirectonal_LSTM_Model_speed.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_speed.add(Dense(1))
BiDirectonal_LSTM_Model_speed.compile(loss='mean_squared_error',optimizer='adam')
BiDirectonal_LSTM_Model_energy = Sequential()
BiDirectonal_LSTM_Model_energy.add(Bidirectional(LSTM(50, activation='relu'), input_shape=(4, 1)))
BiDirectonal_LSTM_Model_energy.add(Dense(1))
BiDirectonal_LSTM_Model_energy.compile(loss='mean_squared_error',optimizer='adam')
timetaken_BiDirectonal_LSTM_Model_pos_x = timecallback4()
timetaken_BiDirectonal_LSTM_Model_pos_y = timecallback4()
timetaken_BiDirectonal_LSTM_Model_speed = timecallback4()
timetaken_BiDirectonal_LSTM_Model_energy = timecallback4()
BiDirectonal_LSTM_Model_pos_x.fit(X_training_data_reshaped,y_training_data_pos_x,validation_data=(X_testing_data_reshaped,y_testing_data_pos_x),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_BiDirectonal_LSTM_Model_pos_x])
BiDirectonal_LSTM_Model_pos_y.fit(X_training_data_reshaped,y_training_data_pos_y,validation_data=(X_testing_data_reshaped,y_testing_data_pos_y),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_BiDirectonal_LSTM_Model_pos_y])
BiDirectonal_LSTM_Model_speed.fit(X_training_data_reshaped,y_training_data_speed,validation_data=(X_testing_data_reshaped,y_testing_data_speed),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_BiDirectonal_LSTM_Model_speed])
BiDirectonal_LSTM_Model_energy.fit(X_training_data_reshaped,y_training_data_energy,validation_data=(X_testing_data_reshaped,y_testing_data_energy),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_BiDirectonal_LSTM_Model_energy])
Epoch 1/5 1829/1829 [==============================] - 11s 4ms/step - loss: 22502.4335 - val_loss: 504.2557 Epoch 2/5 1829/1829 [==============================] - 8s 4ms/step - loss: 150.9394 - val_loss: 497.6754 Epoch 3/5 1829/1829 [==============================] - 8s 4ms/step - loss: 137.6934 - val_loss: 469.9681 Epoch 4/5 1829/1829 [==============================] - 8s 4ms/step - loss: 150.4266 - val_loss: 454.0327 Epoch 5/5 1829/1829 [==============================] - 8s 4ms/step - loss: 150.6220 - val_loss: 453.9475
Epoch 1/5 1829/1829 [==============================] - 12s 5ms/step - loss: 32720.8197 - val_loss: 1809.1536 Epoch 2/5 1829/1829 [==============================] - 8s 4ms/step - loss: 190.8820 - val_loss: 1088.5913 Epoch 3/5 1829/1829 [==============================] - 8s 4ms/step - loss: 160.0131 - val_loss: 867.3106 Epoch 4/5 1829/1829 [==============================] - 8s 4ms/step - loss: 172.4966 - val_loss: 806.2817 Epoch 5/5 1829/1829 [==============================] - 8s 4ms/step - loss: 177.8866 - val_loss: 807.4897
Epoch 1/5 1829/1829 [==============================] - 12s 5ms/step - loss: 3.0185 - val_loss: 21.6616 Epoch 2/5 1829/1829 [==============================] - 8s 4ms/step - loss: 0.2423 - val_loss: 14.8800 Epoch 3/5 1829/1829 [==============================] - 8s 4ms/step - loss: 0.2162 - val_loss: 11.9025 Epoch 4/5 1829/1829 [==============================] - 8s 4ms/step - loss: 0.2307 - val_loss: 14.2430 Epoch 5/5 1829/1829 [==============================] - 8s 4ms/step - loss: 0.2202 - val_loss: 12.1735
Epoch 1/5 1829/1829 [==============================] - 11s 5ms/step - loss: 708645.3189 - val_loss: 35310928.0000 Epoch 2/5 1829/1829 [==============================] - 8s 4ms/step - loss: 44596.7841 - val_loss: 25439260.0000 Epoch 3/5 1829/1829 [==============================] - 8s 4ms/step - loss: 18256.8087 - val_loss: 17960876.0000 Epoch 4/5 1829/1829 [==============================] - 8s 4ms/step - loss: 15237.3524 - val_loss: 15995368.0000 Epoch 5/5 1829/1829 [==============================] - 8s 4ms/step - loss: 9883.4051 - val_loss: 16157761.0000
<tensorflow.python.keras.callbacks.History at 0x196de45a280>
print("\n\n==================================================")
print(" TIME TAKEN BY BiDirectonal LSTM ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(10, 5)
plt.plot(plottime(timetaken_BiDirectonal_LSTM_Model_pos_x.times,timetaken_BiDirectonal_LSTM_Model_pos_y.times,timetaken_BiDirectonal_LSTM_Model_speed.times,timetaken_BiDirectonal_LSTM_Model_energy.times))
plt.title('TIME')
plt.legend(['POS X','POS Y', "SPEED", "ENERGY"], loc='upper left')
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.show()
==================================================
TIME TAKEN BY BiDirectonal LSTM
==================================================
train_predict_BiDirectonal_LSTM_Model_pos_x = BiDirectonal_LSTM_Model_pos_x.predict(X_training_data_reshaped)
test_predict_BiDirectonal_LSTM_Model_pos_x = BiDirectonal_LSTM_Model_pos_x.predict(X_testing_data_reshaped)
train_predict_BiDirectonal_LSTM_Model_pos_y = BiDirectonal_LSTM_Model_pos_y.predict(X_training_data_reshaped)
test_predict_BiDirectonal_LSTM_Model_pos_y = BiDirectonal_LSTM_Model_pos_y.predict(X_testing_data_reshaped)
train_predict_BiDirectonal_LSTM_Model_speed = BiDirectonal_LSTM_Model_speed.predict(X_training_data_reshaped)
test_predict_BiDirectonal_LSTM_Model_speed = BiDirectonal_LSTM_Model_speed.predict(X_testing_data_reshaped)
train_predict_BiDirectonal_LSTM_Model_energy = BiDirectonal_LSTM_Model_energy.predict(X_training_data_reshaped)
test_predict_BiDirectonal_LSTM_Model_energy = BiDirectonal_LSTM_Model_energy.predict(X_testing_data_reshaped)
print("\n\nPredictions Returned by Bi-Directional LSTM: ")
print("=========================================\n\n")
df_prediction_BiDirectonal_LSTM = pd.DataFrame()
df_prediction_BiDirectonal_LSTM["Pos X Actual"] = y_testing_data_pos_x
df_prediction_BiDirectonal_LSTM["Pos X Predicted"] = test_predict_BiDirectonal_LSTM_Model_pos_x
df_prediction_BiDirectonal_LSTM["Pos Y Actual"] = y_testing_data_pos_y
df_prediction_BiDirectonal_LSTM["Pos Y Predicted"] = test_predict_BiDirectonal_LSTM_Model_pos_y
df_prediction_BiDirectonal_LSTM["Speed Actual"] = y_testing_data_speed
df_prediction_BiDirectonal_LSTM["Speed Predicted"] = test_predict_BiDirectonal_LSTM_Model_speed
df_prediction_BiDirectonal_LSTM["Energy Actual"] = y_testing_data_energy
df_prediction_BiDirectonal_LSTM["Energy Predicted"] = test_predict_BiDirectonal_LSTM_Model_energy
print(df_prediction_BiDirectonal_LSTM)
Predictions Returned by Bi-Directional LSTM:
=========================================
Pos X Actual Pos X Predicted Pos Y Actual Pos Y Predicted \
0 204.428 204.295532 583.988 584.744995
1 204.428 204.295532 583.988 584.744995
2 204.428 204.295532 583.988 584.744995
3 204.428 204.295532 583.988 584.744995
4 204.428 204.295532 583.988 584.744995
... ... ... ... ...
17994 210.673 210.206818 468.992 475.150757
17995 210.673 210.206818 468.992 475.150757
17996 210.673 210.206833 468.992 475.150696
17997 210.673 210.206833 468.992 475.150696
17998 210.673 210.206818 468.992 475.150696
Speed Actual Speed Predicted Energy Actual Energy Predicted
0 0.0 0.009640 0.0 10.052322
1 0.0 0.009640 0.0 10.052322
2 0.0 0.009640 0.0 10.052322
3 0.0 0.009640 0.0 10.052322
4 0.0 0.009640 0.0 10.052322
... ... ... ... ...
17994 0.0 0.093102 0.0 7.178122
17995 0.0 0.093102 0.0 7.178122
17996 0.0 0.093102 0.0 7.178174
17997 0.0 0.093102 0.0 7.178174
17998 0.0 0.093102 0.0 7.178174
[17999 rows x 8 columns]
print("\n\nRMSE on Training Data by Bi-Directonal LSTM: ")
print("===========================================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x,train_predict_BiDirectonal_LSTM_Model_pos_x)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y,train_predict_BiDirectonal_LSTM_Model_pos_y)))
print(math.sqrt(mean_squared_error(y_training_data_speed,train_predict_BiDirectonal_LSTM_Model_speed)))
print(math.sqrt(mean_squared_error(y_training_data_energy,train_predict_BiDirectonal_LSTM_Model_energy)))
print("\n\nRMSE on Testing Data by Bi-Directonal LSTM: ")
print("==========================================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_pos_x)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_BiDirectonal_LSTM_Model_pos_y)))
print(math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_BiDirectonal_LSTM_Model_speed)))
print(math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_BiDirectonal_LSTM_Model_energy)))
RMSE on Training Data by Bi-Directonal LSTM: =========================================== 11.882069477647343 13.883404372335377 0.4602942135431375 101.77404298157245 RMSE on Testing Data by Bi-Directonal LSTM: ========================================== 21.30604485598056 28.416358116269265 3.4890517432098926 4019.671459870819
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_x)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_y)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed)
plt.plot(test_predict_BiDirectonal_LSTM_Model_speed)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy)
plt.plot(test_predict_BiDirectonal_LSTM_Model_energy)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
GRU_Model_pos_x = Sequential()
GRU_Model_pos_x.add(GRU(50,input_shape=(4,1)))
GRU_Model_pos_x.add(Dense(1000))
GRU_Model_pos_x.add(Dense(1))
GRU_Model_pos_x.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_pos_y = Sequential()
GRU_Model_pos_y.add(GRU(50,input_shape=(4,1)))
GRU_Model_pos_y.add(Dense(1000))
GRU_Model_pos_y.add(Dense(1))
GRU_Model_pos_y.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_speed = Sequential()
GRU_Model_speed.add(GRU(50,input_shape=(4,1)))
GRU_Model_speed.add(Dense(1000))
GRU_Model_speed.add(Dense(1))
GRU_Model_speed.compile(loss='mean_squared_error',optimizer='adam')
GRU_Model_energy = Sequential()
GRU_Model_energy.add(GRU(50,input_shape=(4,1)))
GRU_Model_energy.add(Dense(1000))
GRU_Model_energy.add(Dense(1))
GRU_Model_energy.compile(loss='mean_squared_error',optimizer='adam')
timetaken_GRU_Model_pos_x = timecallback5()
timetaken_GRU_Model_pos_y = timecallback5()
timetaken_GRU_Model_speed = timecallback5()
timetaken_GRU_Model_energy = timecallback5()
GRU_Model_pos_x.fit(X_training_data_reshaped,y_training_data_pos_x,validation_data=(X_testing_data_reshaped,y_testing_data_pos_x),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_GRU_Model_pos_x])
GRU_Model_pos_y.fit(X_training_data_reshaped,y_training_data_pos_y,validation_data=(X_testing_data_reshaped,y_testing_data_pos_y),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_GRU_Model_pos_y])
GRU_Model_speed.fit(X_training_data_reshaped,y_training_data_speed,validation_data=(X_testing_data_reshaped,y_testing_data_speed),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_GRU_Model_speed])
GRU_Model_energy.fit(X_training_data_reshaped,y_training_data_energy,validation_data=(X_testing_data_reshaped,y_testing_data_energy),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_GRU_Model_energy])
Epoch 1/5 1829/1829 [==============================] - 12s 5ms/step - loss: 15292.4894 - val_loss: 526.8732 Epoch 2/5 1829/1829 [==============================] - 9s 5ms/step - loss: 289.1758 - val_loss: 465.9839 Epoch 3/5 1829/1829 [==============================] - 8s 4ms/step - loss: 191.3046 - val_loss: 440.7192 Epoch 4/5 1829/1829 [==============================] - 8s 4ms/step - loss: 196.4775 - val_loss: 451.9869 Epoch 5/5 1829/1829 [==============================] - 9s 5ms/step - loss: 157.2557 - val_loss: 431.3060
Epoch 1/5 1829/1829 [==============================] - 29s 5ms/step - loss: 20204.5003 - val_loss: 878.0785 Epoch 2/5 1829/1829 [==============================] - 8s 4ms/step - loss: 227.9095 - val_loss: 704.0936 Epoch 3/5 1829/1829 [==============================] - 8s 4ms/step - loss: 200.6495 - val_loss: 806.3679 Epoch 4/5 1829/1829 [==============================] - 8s 4ms/step - loss: 178.0849 - val_loss: 558.7333 Epoch 5/5 1829/1829 [==============================] - 8s 5ms/step - loss: 160.4421 - val_loss: 545.3433
Epoch 1/5 1829/1829 [==============================] - 11s 5ms/step - loss: 1.3155 - val_loss: 0.6130 Epoch 2/5 1829/1829 [==============================] - 8s 4ms/step - loss: 0.2040 - val_loss: 0.4967 Epoch 3/5 1829/1829 [==============================] - 8s 4ms/step - loss: 0.2269 - val_loss: 0.4729 Epoch 4/5 1829/1829 [==============================] - 9s 5ms/step - loss: 0.2238 - val_loss: 0.4764 Epoch 5/5 1829/1829 [==============================] - 8s 5ms/step - loss: 0.2221 - val_loss: 0.4073
Epoch 1/5 1829/1829 [==============================] - 11s 5ms/step - loss: 688671.5324 - val_loss: 565722.6875 Epoch 2/5 1829/1829 [==============================] - 8s 4ms/step - loss: 402335.1849 - val_loss: 13477191.0000 Epoch 3/5 1829/1829 [==============================] - 8s 4ms/step - loss: 4485.5052 - val_loss: 14826591.0000 Epoch 4/5 1829/1829 [==============================] - 8s 4ms/step - loss: 16302.8976 - val_loss: 14276313.0000 Epoch 5/5 1829/1829 [==============================] - 8s 5ms/step - loss: 6684.3991 - val_loss: 14140148.0000
<tensorflow.python.keras.callbacks.History at 0x196780c1be0>
print("\n\n==================================================")
print(" TIME TAKEN BY GRU ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(10, 5)
plt.plot(plottime(timetaken_GRU_Model_pos_x.times,timetaken_GRU_Model_pos_y.times,timetaken_GRU_Model_speed.times,timetaken_GRU_Model_energy.times))
plt.title('TIME')
plt.legend(['POS X','POS Y', "SPEED", "ENERGY"], loc='upper left')
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.show()
==================================================
TIME TAKEN BY GRU
==================================================
train_predict_GRU_Model_pos_x = GRU_Model_pos_x.predict(X_training_data_reshaped)
test_predict_GRU_Model_pos_x = GRU_Model_pos_x.predict(X_testing_data_reshaped)
train_predict_GRU_Model_pos_y = GRU_Model_pos_y.predict(X_training_data_reshaped)
test_predict_GRU_Model_pos_y = GRU_Model_pos_y.predict(X_testing_data_reshaped)
train_predict_GRU_Model_speed = GRU_Model_speed.predict(X_training_data_reshaped)
test_predict_GRU_Model_speed = GRU_Model_speed.predict(X_testing_data_reshaped)
train_predict_GRU_Model_energy = GRU_Model_energy.predict(X_training_data_reshaped)
test_predict_GRU_Model_energy = GRU_Model_energy.predict(X_testing_data_reshaped)
print("\n\nPredictions Returned by GRU: ")
print("===========================\n\n")
df_prediction_GRU = pd.DataFrame()
df_prediction_GRU["Pos X Actual"] = y_testing_data_pos_x
df_prediction_GRU["Pos X Predicted"] = test_predict_GRU_Model_pos_x
df_prediction_GRU["Pos Y Actual"] = y_testing_data_pos_y
df_prediction_GRU["Pos Y Predicted"] = test_predict_GRU_Model_pos_y
df_prediction_GRU["Speed Actual"] = y_testing_data_speed
df_prediction_GRU["Speed Predicted"] = test_predict_GRU_Model_speed
df_prediction_GRU["Energy Actual"] = y_testing_data_energy
df_prediction_GRU["Energy Predicted"] = test_predict_GRU_Model_energy
print(df_prediction_GRU)
Predictions Returned by GRU:
===========================
Pos X Actual Pos X Predicted Pos Y Actual Pos Y Predicted \
0 204.428 200.905029 583.988 581.660461
1 204.428 200.905029 583.988 581.660461
2 204.428 200.905029 583.988 581.660461
3 204.428 200.905029 583.988 581.660461
4 204.428 200.905029 583.988 581.660461
... ... ... ... ...
17994 210.673 205.124252 468.992 474.183105
17995 210.673 205.124252 468.992 474.183105
17996 210.673 205.124268 468.992 474.183075
17997 210.673 205.124268 468.992 474.183075
17998 210.673 205.124268 468.992 474.183075
Speed Actual Speed Predicted Energy Actual Energy Predicted
0 0.0 0.151448 0.0 3.910618
1 0.0 0.151448 0.0 3.910618
2 0.0 0.151448 0.0 3.910618
3 0.0 0.151448 0.0 3.910618
4 0.0 0.151448 0.0 3.910618
... ... ... ... ...
17994 0.0 0.101021 0.0 -7.463221
17995 0.0 0.101021 0.0 -7.463221
17996 0.0 0.101021 0.0 -7.463707
17997 0.0 0.101021 0.0 -7.463707
17998 0.0 0.101021 0.0 -7.463707
[17999 rows x 8 columns]
print("\n\nRMSE on Training Data by GRU: ")
print("=============================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x,train_predict_GRU_Model_pos_x)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y,train_predict_GRU_Model_pos_y)))
print(math.sqrt(mean_squared_error(y_training_data_speed,train_predict_GRU_Model_speed)))
print(math.sqrt(mean_squared_error(y_training_data_energy,train_predict_GRU_Model_energy)))
print("\n\nRMSE on Testing Data by GRU: ")
print("============================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_pos_x)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_GRU_Model_pos_y)))
print(math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_GRU_Model_speed)))
print(math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_GRU_Model_energy)))
RMSE on Training Data by GRU: ============================= 13.462225054992512 12.530817549751713 0.46140659059546146 102.07048211255805 RMSE on Testing Data by GRU: ============================ 20.767906096783808 23.35258700752008 0.6382154593351096 3760.3388405168557
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x)
plt.plot(test_predict_GRU_Model_pos_x)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y)
plt.plot(test_predict_GRU_Model_pos_y)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed)
plt.plot(test_predict_GRU_Model_speed)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy)
plt.plot(test_predict_GRU_Model_energy)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
RNN_Model_pos_x = Sequential()
RNN_Model_pos_x.add(RNN(50,input_shape=(4,1)))
RNN_Model_pos_x.add(Dense(1))
RNN_Model_pos_x.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_pos_y = Sequential()
RNN_Model_pos_y.add(RNN(50,input_shape=(4,1)))
RNN_Model_pos_y.add(Dense(1))
RNN_Model_pos_y.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_speed = Sequential()
RNN_Model_speed.add(RNN(50,input_shape=(4,1)))
RNN_Model_speed.add(Dense(1))
RNN_Model_speed.compile(loss='mean_squared_error',optimizer='adam')
RNN_Model_energy = Sequential()
RNN_Model_energy.add(RNN(50,input_shape=(4,1)))
RNN_Model_energy.add(Dense(1))
RNN_Model_energy.compile(loss='mean_squared_error',optimizer='adam')
timetaken_RNN_Model_pos_x = timecallback6()
timetaken_RNN_Model_pos_y = timecallback6()
timetaken_RNN_Model_speed = timecallback6()
timetaken_RNN_Model_energy = timecallback6()
RNN_Model_pos_x.fit(X_training_data_reshaped,y_training_data_pos_x,validation_data=(X_testing_data_reshaped,y_testing_data_pos_x),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_RNN_Model_pos_x])
RNN_Model_pos_y.fit(X_training_data_reshaped,y_training_data_pos_y,validation_data=(X_testing_data_reshaped,y_testing_data_pos_y),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_RNN_Model_pos_y])
RNN_Model_speed.fit(X_training_data_reshaped,y_training_data_speed,validation_data=(X_testing_data_reshaped,y_testing_data_speed),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_RNN_Model_speed])
RNN_Model_energy.fit(X_training_data_reshaped,y_training_data_energy,validation_data=(X_testing_data_reshaped,y_testing_data_energy),epochs=5,batch_size=64,verbose=1,callbacks = [timetaken_RNN_Model_energy])
Epoch 1/5 1829/1829 [==============================] - 5s 2ms/step - loss: 82091.0525 - val_loss: 52353.6172 Epoch 2/5 1829/1829 [==============================] - 4s 2ms/step - loss: 46589.9719 - val_loss: 30993.6055 Epoch 3/5 1829/1829 [==============================] - 4s 2ms/step - loss: 28075.9146 - val_loss: 21760.8750 Epoch 4/5 1829/1829 [==============================] - 4s 2ms/step - loss: 20309.5089 - val_loss: 19711.5820 Epoch 5/5 1829/1829 [==============================] - 4s 2ms/step - loss: 18878.2562 - val_loss: 19679.3555
Epoch 1/5 1829/1829 [==============================] - 5s 2ms/step - loss: 76874.5766 - val_loss: 49447.6797 Epoch 2/5 1829/1829 [==============================] - 3s 2ms/step - loss: 45325.8946 - val_loss: 32357.0801 Epoch 3/5 1829/1829 [==============================] - 3s 2ms/step - loss: 29675.6622 - val_loss: 17215.0059 Epoch 4/5 1829/1829 [==============================] - 4s 2ms/step - loss: 14724.7751 - val_loss: 8936.5225 Epoch 5/5 1829/1829 [==============================] - 3s 2ms/step - loss: 7246.8284 - val_loss: 4405.6182
Epoch 1/5 1829/1829 [==============================] - 4s 2ms/step - loss: 1.4379 - val_loss: 0.3919 Epoch 2/5 1829/1829 [==============================] - 3s 2ms/step - loss: 0.2251 - val_loss: 0.3820 Epoch 3/5 1829/1829 [==============================] - 4s 2ms/step - loss: 0.2197 - val_loss: 0.4218 Epoch 4/5 1829/1829 [==============================] - 4s 2ms/step - loss: 0.2367 - val_loss: 0.3816 Epoch 5/5 1829/1829 [==============================] - 4s 2ms/step - loss: 0.2169 - val_loss: 0.3835
Epoch 1/5 1829/1829 [==============================] - 5s 2ms/step - loss: 1487424.9823 - val_loss: 490565.5312 Epoch 2/5 1829/1829 [==============================] - 4s 2ms/step - loss: 1303545.3883 - val_loss: 428456.6250 Epoch 3/5 1829/1829 [==============================] - 3s 2ms/step - loss: 1160715.3786 - val_loss: 382815.1562 Epoch 4/5 1829/1829 [==============================] - 3s 2ms/step - loss: 1032413.1282 - val_loss: 352662.9688 Epoch 5/5 1829/1829 [==============================] - 3s 2ms/step - loss: 925062.3181 - val_loss: 337570.0625
<tensorflow.python.keras.callbacks.History at 0x196bba11a60>
print("\n\n==================================================")
print(" TIME TAKEN BY RNN ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(10, 5)
plt.plot(plottime(timetaken_RNN_Model_pos_x.times,timetaken_RNN_Model_pos_y.times,timetaken_RNN_Model_speed.times,timetaken_RNN_Model_energy.times))
plt.title('TIME')
plt.legend(['POS X','POS Y', "SPEED", "ENERGY"], loc='upper left')
plt.xlabel('Epochs')
plt.ylabel('Time (seconds)')
plt.show()
==================================================
TIME TAKEN BY RNN
==================================================
train_predict_RNN_Model_pos_x = RNN_Model_pos_x.predict(X_training_data_reshaped)
test_predict_RNN_Model_pos_x = RNN_Model_pos_x.predict(X_testing_data_reshaped)
train_predict_RNN_Model_pos_y = RNN_Model_pos_y.predict(X_training_data_reshaped)
test_predict_RNN_Model_pos_y = RNN_Model_pos_y.predict(X_testing_data_reshaped)
train_predict_RNN_Model_speed = RNN_Model_speed.predict(X_training_data_reshaped)
test_predict_RNN_Model_speed = RNN_Model_speed.predict(X_testing_data_reshaped)
train_predict_RNN_Model_energy = RNN_Model_energy.predict(X_training_data_reshaped)
test_predict_RNN_Model_energy = RNN_Model_energy.predict(X_testing_data_reshaped)
print("\n\nPredictions Returned by RNN: ")
print("===========================\n\n")
df_prediction_RNN = pd.DataFrame()
df_prediction_RNN["Pos X Actual"] = y_testing_data_pos_x
df_prediction_RNN["Pos X Predicted"] = test_predict_RNN_Model_pos_x
df_prediction_RNN["Pos Y Actual"] = y_testing_data_pos_y
df_prediction_RNN["Pos Y Predicted"] = test_predict_RNN_Model_pos_y
df_prediction_RNN["Speed Actual"] = y_testing_data_speed
df_prediction_RNN["Speed Predicted"] = test_predict_RNN_Model_speed
df_prediction_RNN["Energy Actual"] = y_testing_data_energy
df_prediction_RNN["Energy Predicted"] = test_predict_RNN_Model_energy
print(df_prediction_RNN)
Predictions Returned by RNN:
===========================
Pos X Actual Pos X Predicted Pos Y Actual Pos Y Predicted \
0 204.428 282.02478 583.988 375.582581
1 204.428 282.02478 583.988 375.582581
2 204.428 282.02478 583.988 375.582581
3 204.428 282.02478 583.988 375.582581
4 204.428 282.02478 583.988 375.582581
... ... ... ... ...
17994 210.673 282.02478 468.992 375.575012
17995 210.673 282.02478 468.992 375.575012
17996 210.673 282.02475 468.992 375.575012
17997 210.673 282.02475 468.992 375.575012
17998 210.673 282.02475 468.992 375.575012
Speed Actual Speed Predicted Energy Actual Energy Predicted
0 0.0 0.154989 0.0 451.353912
1 0.0 0.154989 0.0 451.353912
2 0.0 0.154989 0.0 451.353912
3 0.0 0.154989 0.0 451.353912
4 0.0 0.154989 0.0 451.353912
... ... ... ... ...
17994 0.0 0.132077 0.0 451.353912
17995 0.0 0.132077 0.0 451.353912
17996 0.0 0.132077 0.0 451.353912
17997 0.0 0.132077 0.0 451.353912
17998 0.0 0.132077 0.0 451.353912
[17999 rows x 8 columns]
print("\n\nRMSE on Training Data by RNN: ")
print("=============================\n\n")
print(math.sqrt(mean_squared_error(y_training_data_pos_x,train_predict_RNN_Model_pos_x)))
print(math.sqrt(mean_squared_error(y_training_data_pos_y,train_predict_RNN_Model_pos_y)))
print(math.sqrt(mean_squared_error(y_training_data_speed,train_predict_RNN_Model_speed)))
print(math.sqrt(mean_squared_error(y_training_data_energy,train_predict_RNN_Model_energy)))
print("\n\nRMSE on Testing Data by RNN: ")
print("============================\n\n")
print(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_pos_x)))
print(math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_RNN_Model_pos_y)))
print(math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_RNN_Model_speed)))
print(math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_RNN_Model_energy)))
RMSE on Training Data by RNN: ============================= 137.11162163281298 63.39358581503732 0.46551843532375475 922.0456342396242 RMSE on Testing Data by RNN: ============================ 140.2831228889263 66.37482678974489 0.6192413369862964 581.0078232728362
plt.figure()
fig = plt.gcf()
fig.set_size_inches(12, 8)
plt.subplot(221)
plt.plot(y_testing_data_pos_x)
plt.plot(test_predict_RNN_Model_pos_x)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.grid(True)
plt.subplot(222)
plt.plot(y_testing_data_pos_y)
plt.plot(test_predict_RNN_Model_pos_y)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.grid(True)
plt.subplot(223)
plt.plot(y_testing_data_speed)
plt.plot(test_predict_RNN_Model_speed)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.grid(True)
plt.subplot(224)
plt.plot(y_testing_data_energy)
plt.plot(test_predict_RNN_Model_energy)
plt.legend(['Actual','Predicted'], loc='upper left')
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.grid(True)
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.5,wspace=0.35)
plt.show()
print("\n\nMain Datasets of Node 7 that is Used:")
print("=====================================\n\n")
print("Training Data:\n\n")
print(all_data_training)
print("\n\nTesting Data:\n\n")
print(all_data_node_7_testing)
print("\n\nMain Datasets of Node 15 that is Used:")
print("=====================================\n\n")
print("Training Data:\n\n")
print(all_data_training)
print("\n\nTesting Data:\n\n")
print(all_data_node_15_testing)
print("\n\nMain Datasets of Node 24 that is Used:")
print("=====================================\n\n")
print("Training Data:\n\n")
print(all_data_training)
print("\n\nTesting Data:\n\n")
print(all_data_node_24_testing)
print("\n\nMain Datasets of Node 33 that is Used:")
print("=====================================\n\n")
print("Training Data:\n\n")
print(all_data_training)
print("\n\nTesting Data:\n\n")
print(all_data_node_33_testing)
print("\n\nMain Datasets of Node 48 that is Used:")
print("=====================================\n\n")
print("Training Data:\n\n")
print(all_data_training)
print("\n\nTesting Data:\n\n")
print(all_data_node_48_testing)
Main Datasets of Node 7 that is Used:
=====================================
Training Data:
pos_x pos_y speed energy
0 307.922 503.508 0.000000 121.188655
1 307.871 503.345 1.974358 120.165500
2 306.494 504.296 1.974358 119.142345
3 305.116 505.246 1.974358 118.119190
4 303.738 506.197 1.974358 117.096035
... ... ... ... ...
116995 223.377 451.449 1.591080 294.398640
116996 223.885 450.748 1.591080 290.438050
116997 224.393 450.046 1.591080 286.477460
116998 224.901 449.344 1.591080 282.516870
116999 225.409 448.643 1.591080 278.556280
[117000 rows x 4 columns]
Testing Data:
pos_x pos_y speed energy
0 158.247 254.898 7.842828 210.08317
1 159.187 256.305 7.842828 202.52120
2 160.127 257.712 7.842828 194.95923
3 161.067 259.119 7.842828 187.39726
4 162.007 260.526 7.842828 179.83529
.. ... ... ... ...
295 255.364 120.883 0.000000 0.00000
296 255.364 120.883 0.000000 0.00000
297 255.364 120.883 0.000000 0.00000
298 255.364 120.883 0.000000 0.00000
299 255.364 120.883 0.000000 0.00000
[300 rows x 4 columns]
Main Datasets of Node 15 that is Used:
=====================================
Training Data:
pos_x pos_y speed energy
0 307.922 503.508 0.000000 121.188655
1 307.871 503.345 1.974358 120.165500
2 306.494 504.296 1.974358 119.142345
3 305.116 505.246 1.974358 118.119190
4 303.738 506.197 1.974358 117.096035
... ... ... ... ...
116995 223.377 451.449 1.591080 294.398640
116996 223.885 450.748 1.591080 290.438050
116997 224.393 450.046 1.591080 286.477460
116998 224.901 449.344 1.591080 282.516870
116999 225.409 448.643 1.591080 278.556280
[117000 rows x 4 columns]
Testing Data:
pos_x pos_y speed energy
0 171.695 241.496 0.0 0.0
1 171.695 241.496 0.0 0.0
2 171.695 241.496 0.0 0.0
3 171.695 241.496 0.0 0.0
4 171.695 241.496 0.0 0.0
.. ... ... ... ...
295 257.261 229.576 0.0 0.0
296 257.261 229.576 0.0 0.0
297 257.261 229.576 0.0 0.0
298 257.261 229.576 0.0 0.0
299 257.261 229.576 0.0 0.0
[300 rows x 4 columns]
Main Datasets of Node 24 that is Used:
=====================================
Training Data:
pos_x pos_y speed energy
0 307.922 503.508 0.000000 121.188655
1 307.871 503.345 1.974358 120.165500
2 306.494 504.296 1.974358 119.142345
3 305.116 505.246 1.974358 118.119190
4 303.738 506.197 1.974358 117.096035
... ... ... ... ...
116995 223.377 451.449 1.591080 294.398640
116996 223.885 450.748 1.591080 290.438050
116997 224.393 450.046 1.591080 286.477460
116998 224.901 449.344 1.591080 282.516870
116999 225.409 448.643 1.591080 278.556280
[117000 rows x 4 columns]
Testing Data:
pos_x pos_y speed energy
0 384.720 73.9024 2.405508 775.181610
1 385.183 74.5785 2.405508 773.047275
2 385.646 75.2545 2.405508 770.912940
3 386.109 75.9306 2.405508 768.778605
4 386.572 76.6066 2.405508 766.644270
.. ... ... ... ...
295 382.406 70.5222 7.435760 1467.316100
296 382.869 71.1982 7.435760 1463.320168
297 383.332 71.8743 7.435760 1459.324236
298 383.794 72.5503 7.435760 1455.328304
299 384.257 73.2264 7.435760 1451.332372
[300 rows x 4 columns]
Main Datasets of Node 33 that is Used:
=====================================
Training Data:
pos_x pos_y speed energy
0 307.922 503.508 0.000000 121.188655
1 307.871 503.345 1.974358 120.165500
2 306.494 504.296 1.974358 119.142345
3 305.116 505.246 1.974358 118.119190
4 303.738 506.197 1.974358 117.096035
... ... ... ... ...
116995 223.377 451.449 1.591080 294.398640
116996 223.885 450.748 1.591080 290.438050
116997 224.393 450.046 1.591080 286.477460
116998 224.901 449.344 1.591080 282.516870
116999 225.409 448.643 1.591080 278.556280
[117000 rows x 4 columns]
Testing Data:
pos_x pos_y speed energy
0 248.615 316.373 1.463984 228.579050
1 249.988 316.303 1.463984 226.445967
2 251.361 316.234 1.463984 224.312884
3 252.734 316.164 1.463984 222.179801
4 254.107 316.095 1.463984 220.046718
.. ... ... ... ...
295 377.419 194.029 6.626459 347.367962
296 378.576 195.316 6.626459 347.029591
297 379.733 196.603 6.626459 346.691220
298 380.890 197.890 6.626459 346.352849
299 382.047 199.177 6.626459 346.014478
[300 rows x 4 columns]
Main Datasets of Node 48 that is Used:
=====================================
Training Data:
pos_x pos_y speed energy
0 307.922 503.508 0.000000 121.188655
1 307.871 503.345 1.974358 120.165500
2 306.494 504.296 1.974358 119.142345
3 305.116 505.246 1.974358 118.119190
4 303.738 506.197 1.974358 117.096035
... ... ... ... ...
116995 223.377 451.449 1.591080 294.398640
116996 223.885 450.748 1.591080 290.438050
116997 224.393 450.046 1.591080 286.477460
116998 224.901 449.344 1.591080 282.516870
116999 225.409 448.643 1.591080 278.556280
[117000 rows x 4 columns]
Testing Data:
pos_x pos_y speed energy
0 393.463 154.932 5.970805 903.785894
1 393.724 154.969 5.970805 898.273815
2 393.985 155.007 5.970805 892.761735
3 394.246 155.044 5.970805 887.249655
4 394.506 155.082 5.970805 881.737575
.. ... ... ... ...
295 392.159 154.745 7.440762 493.946780
296 392.420 154.782 7.440762 488.584160
297 392.681 154.820 7.440762 483.221540
298 392.941 154.857 7.440762 477.858920
299 393.202 154.894 7.440762 472.496300
[300 rows x 4 columns]
test_predict_Stacked_LSTM_Model_pos_x_2_node_7 = Stacked_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_7)
test_predict_Stacked_LSTM_Model_pos_y_2_node_7 = Stacked_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_7)
test_predict_Stacked_LSTM_Model_speed_2_node_7 = Stacked_LSTM_Model_speed.predict(X_testing_data_reshaped_node_7)
test_predict_Stacked_LSTM_Model_energy_2_node_7 = Stacked_LSTM_Model_energy.predict(X_testing_data_reshaped_node_7)
test_predict_CNN_LSTM_Model_pos_x_2_node_7 = CNN_LSTM_Model_pos_x.predict(X_testing_data_reshaped_cnn_node_7)
test_predict_CNN_LSTM_Model_pos_y_2_node_7 = CNN_LSTM_Model_pos_y.predict(X_testing_data_reshaped_cnn_node_7)
test_predict_CNN_LSTM_Model_speed_2_node_7 = CNN_LSTM_Model_speed.predict(X_testing_data_reshaped_cnn_node_7)
test_predict_CNN_LSTM_Model_energy_2_node_7 = CNN_LSTM_Model_energy.predict(X_testing_data_reshaped_cnn_node_7)
test_predict_LSTM_Model_pos_x_2_node_7 = LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_7)
test_predict_LSTM_Model_pos_y_2_node_7 = LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_7)
test_predict_LSTM_Model_speed_2_node_7 = LSTM_Model_speed.predict(X_testing_data_reshaped_node_7)
test_predict_LSTM_Model_energy_2_node_7 = LSTM_Model_energy.predict(X_testing_data_reshaped_node_7)
test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_7 = BiDirectonal_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_7)
test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_7 = BiDirectonal_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_7)
test_predict_BiDirectonal_LSTM_Model_speed_2_node_7 = BiDirectonal_LSTM_Model_speed.predict(X_testing_data_reshaped_node_7)
test_predict_BiDirectonal_LSTM_Model_energy_2_node_7 = BiDirectonal_LSTM_Model_energy.predict(X_testing_data_reshaped_node_7)
test_predict_GRU_Model_pos_x_2_node_7 = GRU_Model_pos_x.predict(X_testing_data_reshaped_node_7)
test_predict_GRU_Model_pos_y_2_node_7 = GRU_Model_pos_y.predict(X_testing_data_reshaped_node_7)
test_predict_GRU_Model_speed_2_node_7 = GRU_Model_speed.predict(X_testing_data_reshaped_node_7)
test_predict_GRU_Model_energy_2_node_7 = GRU_Model_energy.predict(X_testing_data_reshaped_node_7)
test_predict_RNN_Model_pos_x_2_node_7 = RNN_Model_pos_x.predict(X_testing_data_reshaped_node_7)
test_predict_RNN_Model_pos_y_2_node_7 = RNN_Model_pos_y.predict(X_testing_data_reshaped_node_7)
test_predict_RNN_Model_speed_2_node_7 = RNN_Model_speed.predict(X_testing_data_reshaped_node_7)
test_predict_RNN_Model_energy_2_node_7 = RNN_Model_energy.predict(X_testing_data_reshaped_node_7)
print("\n\n==================================================")
print(" PREDICITED POS X BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_pos_x_node_7)
plt.plot(test_predict_Stacked_LSTM_Model_pos_x_2_node_7)
plt.plot(test_predict_CNN_LSTM_Model_pos_x_2_node_7)
plt.plot(test_predict_LSTM_Model_pos_x_2_node_7)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_7)
plt.plot(test_predict_GRU_Model_pos_x_2_node_7)
plt.plot(test_predict_RNN_Model_pos_x_2_node_7)
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED POS Y BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_pos_y_node_7)
plt.plot(test_predict_Stacked_LSTM_Model_pos_y_2_node_7)
plt.plot(test_predict_CNN_LSTM_Model_pos_y_2_node_7)
plt.plot(test_predict_LSTM_Model_pos_y_2_node_7)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_7)
plt.plot(test_predict_GRU_Model_pos_y_2_node_7)
plt.plot(test_predict_RNN_Model_pos_y_2_node_7)
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED SPEED BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_speed_node_7)
plt.plot(test_predict_Stacked_LSTM_Model_speed_2_node_7)
plt.plot(test_predict_CNN_LSTM_Model_speed_2_node_7)
plt.plot(test_predict_LSTM_Model_speed_2_node_7)
plt.plot(test_predict_BiDirectonal_LSTM_Model_speed_2_node_7)
plt.plot(test_predict_GRU_Model_speed_2_node_7)
plt.plot(test_predict_RNN_Model_speed_2_node_7)
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED ENERGY BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_energy_node_7)
plt.plot(test_predict_Stacked_LSTM_Model_energy_2_node_7)
plt.plot(test_predict_CNN_LSTM_Model_energy_2_node_7)
plt.plot(test_predict_LSTM_Model_energy_2_node_7)
plt.plot(test_predict_BiDirectonal_LSTM_Model_energy_2_node_7)
plt.plot(test_predict_GRU_Model_energy_2_node_7)
plt.plot(test_predict_RNN_Model_energy_2_node_7)
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
==================================================
PREDICITED POS X BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED POS Y BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED SPEED BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED ENERGY BY ALL ALGORITHMS
==================================================
print("\n\nROOT MEAN SQUARE OF ALL ALGORITHMS:")
print("====================================\n")
pretty_table_RMSE = PrettyTable()
pretty_table_RMSE.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table_RMSE.add_column("Pos X RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_pos_x_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_pos_x_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_pos_x_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_pos_x_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_pos_x_2_node_7))),2)])
pretty_table_RMSE.add_column("Pos Y RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_pos_y_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_pos_y_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_pos_y_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_pos_y_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_pos_y_2_node_7))),2)])
pretty_table_RMSE.add_column("Speed RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_speed_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_speed_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_speed_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_speed_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_speed_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_speed_2_node_7))),2)])
pretty_table_RMSE.add_column("Energy RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_energy_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_energy_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_energy_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_energy_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_energy_2_node_7))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_energy_2_node_7))),2)])
print(pretty_table_RMSE)
ROOT MEAN SQUARE OF ALL ALGORITHMS: ==================================== +-------------------+------------+------------+------------+-------------+ | Algorithm | Pos X RMSE | Pos Y RMSE | Speed RMSE | Energy RMSE | +-------------------+------------+------------+------------+-------------+ | Stacked_LSTM | 79.72 | 121.01 | 174.16 | 300.37 | | CNN_LSTM | 137.77 | 203.01 | 174.21 | 691.21 | | LSTM | 77.14 | 152.01 | 174.23 | 302.49 | | BiDirectonal_LSTM | 189.16 | 217.01 | 173.8 | 1981.37 | | GRU | 176.86 | 218.85 | 174.15 | 2027.62 | | RNN | 140.88 | 197.14 | 174.11 | 299.8 | +-------------------+------------+------------+------------+-------------+
test_predict_Stacked_LSTM_Model_pos_x_2_node_15 = Stacked_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_15)
test_predict_Stacked_LSTM_Model_pos_y_2_node_15 = Stacked_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_15)
test_predict_Stacked_LSTM_Model_speed_2_node_15 = Stacked_LSTM_Model_speed.predict(X_testing_data_reshaped_node_15)
test_predict_Stacked_LSTM_Model_energy_2_node_15 = Stacked_LSTM_Model_energy.predict(X_testing_data_reshaped_node_15)
test_predict_CNN_LSTM_Model_pos_x_2_node_15 = CNN_LSTM_Model_pos_x.predict(X_testing_data_reshaped_cnn_node_15)
test_predict_CNN_LSTM_Model_pos_y_2_node_15 = CNN_LSTM_Model_pos_y.predict(X_testing_data_reshaped_cnn_node_15)
test_predict_CNN_LSTM_Model_speed_2_node_15 = CNN_LSTM_Model_speed.predict(X_testing_data_reshaped_cnn_node_15)
test_predict_CNN_LSTM_Model_energy_2_node_15 = CNN_LSTM_Model_energy.predict(X_testing_data_reshaped_cnn_node_15)
test_predict_LSTM_Model_pos_x_2_node_15 = LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_15)
test_predict_LSTM_Model_pos_y_2_node_15 = LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_15)
test_predict_LSTM_Model_speed_2_node_15 = LSTM_Model_speed.predict(X_testing_data_reshaped_node_15)
test_predict_LSTM_Model_energy_2_node_15 = LSTM_Model_energy.predict(X_testing_data_reshaped_node_15)
test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_15 = BiDirectonal_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_15)
test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_15 = BiDirectonal_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_15)
test_predict_BiDirectonal_LSTM_Model_speed_2_node_15 = BiDirectonal_LSTM_Model_speed.predict(X_testing_data_reshaped_node_15)
test_predict_BiDirectonal_LSTM_Model_energy_2_node_15 = BiDirectonal_LSTM_Model_energy.predict(X_testing_data_reshaped_node_15)
test_predict_GRU_Model_pos_x_2_node_15 = GRU_Model_pos_x.predict(X_testing_data_reshaped_node_15)
test_predict_GRU_Model_pos_y_2_node_15 = GRU_Model_pos_y.predict(X_testing_data_reshaped_node_15)
test_predict_GRU_Model_speed_2_node_15 = GRU_Model_speed.predict(X_testing_data_reshaped_node_15)
test_predict_GRU_Model_energy_2_node_15 = GRU_Model_energy.predict(X_testing_data_reshaped_node_15)
test_predict_RNN_Model_pos_x_2_node_15 = RNN_Model_pos_x.predict(X_testing_data_reshaped_node_15)
test_predict_RNN_Model_pos_y_2_node_15 = RNN_Model_pos_y.predict(X_testing_data_reshaped_node_15)
test_predict_RNN_Model_speed_2_node_15 = RNN_Model_speed.predict(X_testing_data_reshaped_node_15)
test_predict_RNN_Model_energy_2_node_15 = RNN_Model_energy.predict(X_testing_data_reshaped_node_15)
print("\n\n==================================================")
print(" PREDICITED POS X BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_pos_x_node_15)
plt.plot(test_predict_Stacked_LSTM_Model_pos_x_2_node_15)
plt.plot(test_predict_CNN_LSTM_Model_pos_x_2_node_15)
plt.plot(test_predict_LSTM_Model_pos_x_2_node_15)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_15)
plt.plot(test_predict_GRU_Model_pos_x_2_node_15)
plt.plot(test_predict_RNN_Model_pos_x_2_node_15)
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED POS Y BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_pos_y_node_15)
plt.plot(test_predict_Stacked_LSTM_Model_pos_y_2_node_15)
plt.plot(test_predict_CNN_LSTM_Model_pos_y_2_node_15)
plt.plot(test_predict_LSTM_Model_pos_y_2_node_15)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_15)
plt.plot(test_predict_GRU_Model_pos_y_2_node_15)
plt.plot(test_predict_RNN_Model_pos_y_2_node_15)
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED SPEED BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_speed_node_15)
plt.plot(test_predict_Stacked_LSTM_Model_speed_2_node_15)
plt.plot(test_predict_CNN_LSTM_Model_speed_2_node_15)
plt.plot(test_predict_LSTM_Model_speed_2_node_15)
plt.plot(test_predict_BiDirectonal_LSTM_Model_speed_2_node_15)
plt.plot(test_predict_GRU_Model_speed_2_node_15)
plt.plot(test_predict_RNN_Model_speed_2_node_15)
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED ENERGY BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_energy_node_15)
plt.plot(test_predict_Stacked_LSTM_Model_energy_2_node_15)
plt.plot(test_predict_CNN_LSTM_Model_energy_2_node_15)
plt.plot(test_predict_LSTM_Model_energy_2_node_15)
plt.plot(test_predict_BiDirectonal_LSTM_Model_energy_2_node_15)
plt.plot(test_predict_GRU_Model_energy_2_node_15)
plt.plot(test_predict_RNN_Model_energy_2_node_15)
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
==================================================
PREDICITED POS X BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED POS Y BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED SPEED BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED ENERGY BY ALL ALGORITHMS
==================================================
print("\n\nROOT MEAN SQUARE OF ALL ALGORITHMS:")
print("====================================\n")
pretty_table_RMSE = PrettyTable()
pretty_table_RMSE.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table_RMSE.add_column("Pos X RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_pos_x_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_pos_x_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_pos_x_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_pos_x_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_pos_x_2_node_15))),2)])
pretty_table_RMSE.add_column("Pos Y RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_pos_y_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_pos_y_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_pos_y_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_pos_y_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_pos_y_2_node_15))),2)])
pretty_table_RMSE.add_column("Speed RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_speed_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_speed_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_speed_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_speed_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_speed_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_speed_2_node_15))),2)])
pretty_table_RMSE.add_column("Energy RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_energy_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_energy_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_energy_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_energy_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_energy_2_node_15))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_energy_2_node_15))),2)])
print(pretty_table_RMSE)
ROOT MEAN SQUARE OF ALL ALGORITHMS: ==================================== +-------------------+------------+------------+------------+-------------+ | Algorithm | Pos X RMSE | Pos Y RMSE | Speed RMSE | Energy RMSE | +-------------------+------------+------------+------------+-------------+ | Stacked_LSTM | 111.92 | 79.17 | 201.39 | 259.79 | | CNN_LSTM | 125.47 | 179.42 | 201.18 | 782.59 | | LSTM | 111.05 | 99.66 | 201.41 | 261.94 | | BiDirectonal_LSTM | 206.23 | 175.99 | 197.89 | 4052.58 | | GRU | 200.65 | 147.07 | 201.33 | 4343.67 | | RNN | 98.6 | 122.92 | 201.42 | 259.21 | +-------------------+------------+------------+------------+-------------+
test_predict_Stacked_LSTM_Model_pos_x_2_node_24 = Stacked_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_24)
test_predict_Stacked_LSTM_Model_pos_y_2_node_24 = Stacked_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_24)
test_predict_Stacked_LSTM_Model_speed_2_node_24 = Stacked_LSTM_Model_speed.predict(X_testing_data_reshaped_node_24)
test_predict_Stacked_LSTM_Model_energy_2_node_24 = Stacked_LSTM_Model_energy.predict(X_testing_data_reshaped_node_24)
test_predict_CNN_LSTM_Model_pos_x_2_node_24 = CNN_LSTM_Model_pos_x.predict(X_testing_data_reshaped_cnn_node_24)
test_predict_CNN_LSTM_Model_pos_y_2_node_24 = CNN_LSTM_Model_pos_y.predict(X_testing_data_reshaped_cnn_node_24)
test_predict_CNN_LSTM_Model_speed_2_node_24 = CNN_LSTM_Model_speed.predict(X_testing_data_reshaped_cnn_node_24)
test_predict_CNN_LSTM_Model_energy_2_node_24 = CNN_LSTM_Model_energy.predict(X_testing_data_reshaped_cnn_node_24)
test_predict_LSTM_Model_pos_x_2_node_24 = LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_24)
test_predict_LSTM_Model_pos_y_2_node_24 = LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_24)
test_predict_LSTM_Model_speed_2_node_24 = LSTM_Model_speed.predict(X_testing_data_reshaped_node_24)
test_predict_LSTM_Model_energy_2_node_24 = LSTM_Model_energy.predict(X_testing_data_reshaped_node_24)
test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_24 = BiDirectonal_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_24)
test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_24 = BiDirectonal_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_24)
test_predict_BiDirectonal_LSTM_Model_speed_2_node_24 = BiDirectonal_LSTM_Model_speed.predict(X_testing_data_reshaped_node_24)
test_predict_BiDirectonal_LSTM_Model_energy_2_node_24 = BiDirectonal_LSTM_Model_energy.predict(X_testing_data_reshaped_node_24)
test_predict_GRU_Model_pos_x_2_node_24 = GRU_Model_pos_x.predict(X_testing_data_reshaped_node_24)
test_predict_GRU_Model_pos_y_2_node_24 = GRU_Model_pos_y.predict(X_testing_data_reshaped_node_24)
test_predict_GRU_Model_speed_2_node_24 = GRU_Model_speed.predict(X_testing_data_reshaped_node_24)
test_predict_GRU_Model_energy_2_node_24 = GRU_Model_energy.predict(X_testing_data_reshaped_node_24)
test_predict_RNN_Model_pos_x_2_node_24 = RNN_Model_pos_x.predict(X_testing_data_reshaped_node_24)
test_predict_RNN_Model_pos_y_2_node_24 = RNN_Model_pos_y.predict(X_testing_data_reshaped_node_24)
test_predict_RNN_Model_speed_2_node_24 = RNN_Model_speed.predict(X_testing_data_reshaped_node_24)
test_predict_RNN_Model_energy_2_node_24 = RNN_Model_energy.predict(X_testing_data_reshaped_node_24)
print("\n\n==================================================")
print(" PREDICITED POS X BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_pos_x_node_24)
plt.plot(test_predict_Stacked_LSTM_Model_pos_x_2_node_24)
plt.plot(test_predict_CNN_LSTM_Model_pos_x_2_node_24)
plt.plot(test_predict_LSTM_Model_pos_x_2_node_24)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_24)
plt.plot(test_predict_GRU_Model_pos_x_2_node_24)
plt.plot(test_predict_RNN_Model_pos_x_2_node_24)
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED POS Y BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_pos_y_node_24)
plt.plot(test_predict_Stacked_LSTM_Model_pos_y_2_node_24)
plt.plot(test_predict_CNN_LSTM_Model_pos_y_2_node_24)
plt.plot(test_predict_LSTM_Model_pos_y_2_node_24)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_24)
plt.plot(test_predict_GRU_Model_pos_y_2_node_24)
plt.plot(test_predict_RNN_Model_pos_y_2_node_24)
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED SPEED BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_speed_node_24)
plt.plot(test_predict_Stacked_LSTM_Model_speed_2_node_24)
plt.plot(test_predict_CNN_LSTM_Model_speed_2_node_24)
plt.plot(test_predict_LSTM_Model_speed_2_node_24)
plt.plot(test_predict_BiDirectonal_LSTM_Model_speed_2_node_24)
plt.plot(test_predict_GRU_Model_speed_2_node_24)
plt.plot(test_predict_RNN_Model_speed_2_node_24)
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED ENERGY BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_energy_node_24)
plt.plot(test_predict_Stacked_LSTM_Model_energy_2_node_24)
plt.plot(test_predict_CNN_LSTM_Model_energy_2_node_24)
plt.plot(test_predict_LSTM_Model_energy_2_node_24)
plt.plot(test_predict_BiDirectonal_LSTM_Model_energy_2_node_24)
plt.plot(test_predict_GRU_Model_energy_2_node_24)
plt.plot(test_predict_RNN_Model_energy_2_node_24)
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
==================================================
PREDICITED POS X BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED POS Y BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED SPEED BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED ENERGY BY ALL ALGORITHMS
==================================================
print("\n\nROOT MEAN SQUARE OF ALL ALGORITHMS:")
print("====================================\n")
pretty_table_RMSE = PrettyTable()
pretty_table_RMSE.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table_RMSE.add_column("Pos X RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_pos_x_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_pos_x_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_pos_x_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_pos_x_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_pos_x_2_node_24))),2)])
pretty_table_RMSE.add_column("Pos Y RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_pos_y_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_pos_y_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_pos_y_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_pos_y_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_pos_y_2_node_24))),2)])
pretty_table_RMSE.add_column("Speed RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_speed_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_speed_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_speed_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_speed_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_speed_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_speed_2_node_24))),2)])
pretty_table_RMSE.add_column("Energy RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_energy_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_energy_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_energy_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_energy_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_energy_2_node_24))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_energy_2_node_24))),2)])
print(pretty_table_RMSE)
ROOT MEAN SQUARE OF ALL ALGORITHMS: ==================================== +-------------------+------------+------------+------------+-------------+ | Algorithm | Pos X RMSE | Pos Y RMSE | Speed RMSE | Energy RMSE | +-------------------+------------+------------+------------+-------------+ | Stacked_LSTM | 47.41 | 116.83 | 306.42 | 195.78 | | CNN_LSTM | 162.41 | 173.78 | 306.13 | 858.94 | | LSTM | 47.2 | 251.64 | 306.38 | 197.56 | | BiDirectonal_LSTM | 133.8 | 318.04 | 300.78 | 5463.28 | | GRU | 140.26 | 333.81 | 306.33 | 5577.15 | | RNN | 112.47 | 283.21 | 306.55 | 195.29 | +-------------------+------------+------------+------------+-------------+
test_predict_Stacked_LSTM_Model_pos_x_2_node_33 = Stacked_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_33)
test_predict_Stacked_LSTM_Model_pos_y_2_node_33 = Stacked_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_33)
test_predict_Stacked_LSTM_Model_speed_2_node_33 = Stacked_LSTM_Model_speed.predict(X_testing_data_reshaped_node_33)
test_predict_Stacked_LSTM_Model_energy_2_node_33 = Stacked_LSTM_Model_energy.predict(X_testing_data_reshaped_node_33)
test_predict_CNN_LSTM_Model_pos_x_2_node_33 = CNN_LSTM_Model_pos_x.predict(X_testing_data_reshaped_cnn_node_33)
test_predict_CNN_LSTM_Model_pos_y_2_node_33 = CNN_LSTM_Model_pos_y.predict(X_testing_data_reshaped_cnn_node_33)
test_predict_CNN_LSTM_Model_speed_2_node_33 = CNN_LSTM_Model_speed.predict(X_testing_data_reshaped_cnn_node_33)
test_predict_CNN_LSTM_Model_energy_2_node_33 = CNN_LSTM_Model_energy.predict(X_testing_data_reshaped_cnn_node_33)
test_predict_LSTM_Model_pos_x_2_node_33 = LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_33)
test_predict_LSTM_Model_pos_y_2_node_33 = LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_33)
test_predict_LSTM_Model_speed_2_node_33 = LSTM_Model_speed.predict(X_testing_data_reshaped_node_33)
test_predict_LSTM_Model_energy_2_node_33 = LSTM_Model_energy.predict(X_testing_data_reshaped_node_33)
test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_33 = BiDirectonal_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_33)
test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_33 = BiDirectonal_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_33)
test_predict_BiDirectonal_LSTM_Model_speed_2_node_33 = BiDirectonal_LSTM_Model_speed.predict(X_testing_data_reshaped_node_33)
test_predict_BiDirectonal_LSTM_Model_energy_2_node_33 = BiDirectonal_LSTM_Model_energy.predict(X_testing_data_reshaped_node_33)
test_predict_GRU_Model_pos_x_2_node_33 = GRU_Model_pos_x.predict(X_testing_data_reshaped_node_33)
test_predict_GRU_Model_pos_y_2_node_33 = GRU_Model_pos_y.predict(X_testing_data_reshaped_node_33)
test_predict_GRU_Model_speed_2_node_33 = GRU_Model_speed.predict(X_testing_data_reshaped_node_33)
test_predict_GRU_Model_energy_2_node_33 = GRU_Model_energy.predict(X_testing_data_reshaped_node_33)
test_predict_RNN_Model_pos_x_2_node_33 = RNN_Model_pos_x.predict(X_testing_data_reshaped_node_33)
test_predict_RNN_Model_pos_y_2_node_33 = RNN_Model_pos_y.predict(X_testing_data_reshaped_node_33)
test_predict_RNN_Model_speed_2_node_33 = RNN_Model_speed.predict(X_testing_data_reshaped_node_33)
test_predict_RNN_Model_energy_2_node_33 = RNN_Model_energy.predict(X_testing_data_reshaped_node_33)
print("\n\n==================================================")
print(" PREDICITED POS X BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_pos_x_node_33)
plt.plot(test_predict_Stacked_LSTM_Model_pos_x_2_node_33)
plt.plot(test_predict_CNN_LSTM_Model_pos_x_2_node_33)
plt.plot(test_predict_LSTM_Model_pos_x_2_node_33)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_33)
plt.plot(test_predict_GRU_Model_pos_x_2_node_33)
plt.plot(test_predict_RNN_Model_pos_x_2_node_33)
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED POS Y BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_pos_y_node_33)
plt.plot(test_predict_Stacked_LSTM_Model_pos_y_2_node_33)
plt.plot(test_predict_CNN_LSTM_Model_pos_y_2_node_33)
plt.plot(test_predict_LSTM_Model_pos_y_2_node_33)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_33)
plt.plot(test_predict_GRU_Model_pos_y_2_node_33)
plt.plot(test_predict_RNN_Model_pos_y_2_node_33)
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED SPEED BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_speed_node_33)
plt.plot(test_predict_Stacked_LSTM_Model_speed_2_node_33)
plt.plot(test_predict_CNN_LSTM_Model_speed_2_node_33)
plt.plot(test_predict_LSTM_Model_speed_2_node_33)
plt.plot(test_predict_BiDirectonal_LSTM_Model_speed_2_node_33)
plt.plot(test_predict_GRU_Model_speed_2_node_33)
plt.plot(test_predict_RNN_Model_speed_2_node_33)
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED ENERGY BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_energy_node_33)
plt.plot(test_predict_Stacked_LSTM_Model_energy_2_node_33)
plt.plot(test_predict_CNN_LSTM_Model_energy_2_node_33)
plt.plot(test_predict_LSTM_Model_energy_2_node_33)
plt.plot(test_predict_BiDirectonal_LSTM_Model_energy_2_node_33)
plt.plot(test_predict_GRU_Model_energy_2_node_33)
plt.plot(test_predict_RNN_Model_energy_2_node_33)
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
==================================================
PREDICITED POS X BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED POS Y BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED SPEED BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED ENERGY BY ALL ALGORITHMS
==================================================
print("\n\nROOT MEAN SQUARE OF ALL ALGORITHMS:")
print("====================================\n")
pretty_table_RMSE = PrettyTable()
pretty_table_RMSE.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table_RMSE.add_column("Pos X RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_pos_x_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_pos_x_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_pos_x_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_pos_x_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_pos_x_2_node_33))),2)])
pretty_table_RMSE.add_column("Pos Y RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_pos_y_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_pos_y_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_pos_y_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_pos_y_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_pos_y_2_node_33))),2)])
pretty_table_RMSE.add_column("Speed RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_speed_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_speed_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_speed_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_speed_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_speed_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_speed_2_node_33))),2)])
pretty_table_RMSE.add_column("Energy RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_energy_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_energy_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_energy_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_energy_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_energy_2_node_33))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_energy_2_node_33))),2)])
print(pretty_table_RMSE)
ROOT MEAN SQUARE OF ALL ALGORITHMS: ==================================== +-------------------+------------+------------+------------+-------------+ | Algorithm | Pos X RMSE | Pos Y RMSE | Speed RMSE | Energy RMSE | +-------------------+------------+------------+------------+-------------+ | Stacked_LSTM | 52.69 | 80.69 | 245.85 | 228.73 | | CNN_LSTM | 211.55 | 216.29 | 244.57 | 883.14 | | LSTM | 48.56 | 150.45 | 245.73 | 230.78 | | BiDirectonal_LSTM | 85.7 | 368.61 | 240.27 | 6513.8 | | GRU | 82.98 | 336.41 | 245.6 | 6190.81 | | RNN | 89.92 | 186.94 | 245.81 | 228.18 | +-------------------+------------+------------+------------+-------------+
test_predict_Stacked_LSTM_Model_pos_x_2_node_48 = Stacked_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_48)
test_predict_Stacked_LSTM_Model_pos_y_2_node_48 = Stacked_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_48)
test_predict_Stacked_LSTM_Model_speed_2_node_48 = Stacked_LSTM_Model_speed.predict(X_testing_data_reshaped_node_48)
test_predict_Stacked_LSTM_Model_energy_2_node_48 = Stacked_LSTM_Model_energy.predict(X_testing_data_reshaped_node_48)
test_predict_CNN_LSTM_Model_pos_x_2_node_48 = CNN_LSTM_Model_pos_x.predict(X_testing_data_reshaped_cnn_node_48)
test_predict_CNN_LSTM_Model_pos_y_2_node_48 = CNN_LSTM_Model_pos_y.predict(X_testing_data_reshaped_cnn_node_48)
test_predict_CNN_LSTM_Model_speed_2_node_48 = CNN_LSTM_Model_speed.predict(X_testing_data_reshaped_cnn_node_48)
test_predict_CNN_LSTM_Model_energy_2_node_48 = CNN_LSTM_Model_energy.predict(X_testing_data_reshaped_cnn_node_48)
test_predict_LSTM_Model_pos_x_2_node_48 = LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_48)
test_predict_LSTM_Model_pos_y_2_node_48 = LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_48)
test_predict_LSTM_Model_speed_2_node_48 = LSTM_Model_speed.predict(X_testing_data_reshaped_node_48)
test_predict_LSTM_Model_energy_2_node_48 = LSTM_Model_energy.predict(X_testing_data_reshaped_node_48)
test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_48 = BiDirectonal_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_48)
test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_48 = BiDirectonal_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_48)
test_predict_BiDirectonal_LSTM_Model_speed_2_node_48 = BiDirectonal_LSTM_Model_speed.predict(X_testing_data_reshaped_node_48)
test_predict_BiDirectonal_LSTM_Model_energy_2_node_48 = BiDirectonal_LSTM_Model_energy.predict(X_testing_data_reshaped_node_48)
test_predict_GRU_Model_pos_x_2_node_48 = GRU_Model_pos_x.predict(X_testing_data_reshaped_node_48)
test_predict_GRU_Model_pos_y_2_node_48 = GRU_Model_pos_y.predict(X_testing_data_reshaped_node_48)
test_predict_GRU_Model_speed_2_node_48 = GRU_Model_speed.predict(X_testing_data_reshaped_node_48)
test_predict_GRU_Model_energy_2_node_48 = GRU_Model_energy.predict(X_testing_data_reshaped_node_48)
test_predict_RNN_Model_pos_x_2_node_48 = RNN_Model_pos_x.predict(X_testing_data_reshaped_node_48)
test_predict_RNN_Model_pos_y_2_node_48 = RNN_Model_pos_y.predict(X_testing_data_reshaped_node_48)
test_predict_RNN_Model_speed_2_node_48 = RNN_Model_speed.predict(X_testing_data_reshaped_node_48)
test_predict_RNN_Model_energy_2_node_48 = RNN_Model_energy.predict(X_testing_data_reshaped_node_48)
print("\n\n==================================================")
print(" PREDICITED POS X BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_pos_x_node_48)
plt.plot(test_predict_Stacked_LSTM_Model_pos_x_2_node_48)
plt.plot(test_predict_CNN_LSTM_Model_pos_x_2_node_48)
plt.plot(test_predict_LSTM_Model_pos_x_2_node_48)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_48)
plt.plot(test_predict_GRU_Model_pos_x_2_node_48)
plt.plot(test_predict_RNN_Model_pos_x_2_node_48)
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED POS Y BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_pos_y_node_48)
plt.plot(test_predict_Stacked_LSTM_Model_pos_y_2_node_48)
plt.plot(test_predict_CNN_LSTM_Model_pos_y_2_node_48)
plt.plot(test_predict_LSTM_Model_pos_y_2_node_48)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_48)
plt.plot(test_predict_GRU_Model_pos_y_2_node_48)
plt.plot(test_predict_RNN_Model_pos_y_2_node_48)
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED SPEED BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_speed_node_48)
plt.plot(test_predict_Stacked_LSTM_Model_speed_2_node_48)
plt.plot(test_predict_CNN_LSTM_Model_speed_2_node_48)
plt.plot(test_predict_LSTM_Model_speed_2_node_48)
plt.plot(test_predict_BiDirectonal_LSTM_Model_speed_2_node_48)
plt.plot(test_predict_GRU_Model_speed_2_node_48)
plt.plot(test_predict_RNN_Model_speed_2_node_48)
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED ENERGY BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_energy_node_48)
plt.plot(test_predict_Stacked_LSTM_Model_energy_2_node_48)
plt.plot(test_predict_CNN_LSTM_Model_energy_2_node_48)
plt.plot(test_predict_LSTM_Model_energy_2_node_48)
plt.plot(test_predict_BiDirectonal_LSTM_Model_energy_2_node_48)
plt.plot(test_predict_GRU_Model_energy_2_node_48)
plt.plot(test_predict_RNN_Model_energy_2_node_48)
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
==================================================
PREDICITED POS X BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED POS Y BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED SPEED BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED ENERGY BY ALL ALGORITHMS
==================================================
print("\n\nROOT MEAN SQUARE OF ALL ALGORITHMS:")
print("====================================\n")
pretty_table_RMSE = PrettyTable()
pretty_table_RMSE.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table_RMSE.add_column("Pos X RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_pos_x_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_pos_x_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_pos_x_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_pos_x_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_pos_x_2_node_48))),2)])
pretty_table_RMSE.add_column("Pos Y RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_pos_y_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_pos_y_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_pos_y_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_pos_y_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_pos_y_2_node_48))),2)])
pretty_table_RMSE.add_column("Speed RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_speed_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_speed_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_speed_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_speed_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_speed_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_speed_2_node_48))),2)])
pretty_table_RMSE.add_column("Energy RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_energy_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_energy_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_energy_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_energy_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_energy_2_node_48))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_energy_2_node_48))),2)])
print(pretty_table_RMSE)
ROOT MEAN SQUARE OF ALL ALGORITHMS: ==================================== +-------------------+------------+------------+------------+-------------+ | Algorithm | Pos X RMSE | Pos Y RMSE | Speed RMSE | Energy RMSE | +-------------------+------------+------------+------------+-------------+ | Stacked_LSTM | 171.57 | 123.87 | 374.98 | 70.27 | | CNN_LSTM | 202.62 | 186.99 | 375.32 | 799.29 | | LSTM | 166.31 | 163.37 | 375.26 | 72.43 | | BiDirectonal_LSTM | 195.06 | 158.02 | 369.28 | 6430.81 | | GRU | 181.21 | 178.45 | 375.2 | 6357.24 | | RNN | 100.34 | 170.2 | 375.39 | 69.68 | +-------------------+------------+------------+------------+-------------+
test_predict_Stacked_LSTM_Model_pos_x_2 = Stacked_LSTM_Model_pos_x.predict(X_testing_data_reshaped)
test_predict_Stacked_LSTM_Model_pos_y_2 = Stacked_LSTM_Model_pos_y.predict(X_testing_data_reshaped)
test_predict_Stacked_LSTM_Model_speed_2 = Stacked_LSTM_Model_speed.predict(X_testing_data_reshaped)
test_predict_Stacked_LSTM_Model_energy_2 = Stacked_LSTM_Model_energy.predict(X_testing_data_reshaped)
test_predict_CNN_LSTM_Model_pos_x_2 = CNN_LSTM_Model_pos_x.predict(X_testing_data_reshaped_cnn)
test_predict_CNN_LSTM_Model_pos_y_2 = CNN_LSTM_Model_pos_y.predict(X_testing_data_reshaped_cnn)
test_predict_CNN_LSTM_Model_speed_2 = CNN_LSTM_Model_speed.predict(X_testing_data_reshaped_cnn)
test_predict_CNN_LSTM_Model_energy_2 = CNN_LSTM_Model_energy.predict(X_testing_data_reshaped_cnn)
test_predict_LSTM_Model_pos_x_2 = LSTM_Model_pos_x.predict(X_testing_data_reshaped)
test_predict_LSTM_Model_pos_y_2 = LSTM_Model_pos_y.predict(X_testing_data_reshaped)
test_predict_LSTM_Model_speed_2 = LSTM_Model_speed.predict(X_testing_data_reshaped)
test_predict_LSTM_Model_energy_2 = LSTM_Model_energy.predict(X_testing_data_reshaped)
test_predict_BiDirectonal_LSTM_Model_pos_x_2 = BiDirectonal_LSTM_Model_pos_x.predict(X_testing_data_reshaped)
test_predict_BiDirectonal_LSTM_Model_pos_y_2 = BiDirectonal_LSTM_Model_pos_y.predict(X_testing_data_reshaped)
test_predict_BiDirectonal_LSTM_Model_speed_2 = BiDirectonal_LSTM_Model_speed.predict(X_testing_data_reshaped)
test_predict_BiDirectonal_LSTM_Model_energy_2 = BiDirectonal_LSTM_Model_energy.predict(X_testing_data_reshaped)
test_predict_GRU_Model_pos_x_2 = GRU_Model_pos_x.predict(X_testing_data_reshaped)
test_predict_GRU_Model_pos_y_2 = GRU_Model_pos_y.predict(X_testing_data_reshaped)
test_predict_GRU_Model_speed_2 = GRU_Model_speed.predict(X_testing_data_reshaped)
test_predict_GRU_Model_energy_2 = GRU_Model_energy.predict(X_testing_data_reshaped)
test_predict_RNN_Model_pos_x_2 = RNN_Model_pos_x.predict(X_testing_data_reshaped)
test_predict_RNN_Model_pos_y_2 = RNN_Model_pos_y.predict(X_testing_data_reshaped)
test_predict_RNN_Model_speed_2 = RNN_Model_speed.predict(X_testing_data_reshaped)
test_predict_RNN_Model_energy_2 = RNN_Model_energy.predict(X_testing_data_reshaped)
print("\n\n==================================================")
print(" PREDICITED POS X BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_pos_x)
plt.plot(test_predict_Stacked_LSTM_Model_pos_x_2)
plt.plot(test_predict_CNN_LSTM_Model_pos_x_2)
plt.plot(test_predict_LSTM_Model_pos_x_2)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_x_2)
plt.plot(test_predict_GRU_Model_pos_x_2)
plt.plot(test_predict_RNN_Model_pos_x_2)
plt.title('pos_x')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED POS Y BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_pos_y)
plt.plot(test_predict_Stacked_LSTM_Model_pos_y_2)
plt.plot(test_predict_CNN_LSTM_Model_pos_y_2)
plt.plot(test_predict_LSTM_Model_pos_y_2)
plt.plot(test_predict_BiDirectonal_LSTM_Model_pos_y_2)
plt.plot(test_predict_GRU_Model_pos_y_2)
plt.plot(test_predict_RNN_Model_pos_y_2)
plt.title('pos_y')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED SPEED BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_speed)
plt.plot(test_predict_Stacked_LSTM_Model_speed_2)
plt.plot(test_predict_CNN_LSTM_Model_speed_2)
plt.plot(test_predict_LSTM_Model_speed_2)
plt.plot(test_predict_BiDirectonal_LSTM_Model_speed_2)
plt.plot(test_predict_GRU_Model_speed_2)
plt.plot(test_predict_RNN_Model_speed_2)
plt.title('speed')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
print("\n\n==================================================")
print(" PREDICITED ENERGY BY ALL ALGORITHMS ")
print("==================================================\n\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(15, 7)
plt.plot(y_testing_data_energy)
plt.plot(test_predict_Stacked_LSTM_Model_energy_2)
plt.plot(test_predict_CNN_LSTM_Model_energy_2)
plt.plot(test_predict_LSTM_Model_energy_2)
plt.plot(test_predict_BiDirectonal_LSTM_Model_energy_2)
plt.plot(test_predict_GRU_Model_energy_2)
plt.plot(test_predict_RNN_Model_energy_2)
plt.title('energy')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.legend(['Actual','Stacked_LSTM', "CNN_LSTM", "LSTM", "BiDirectonal_LSTM", "GRU", "RNN"], loc='upper right')
plt.show()
==================================================
PREDICITED POS X BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED POS Y BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED SPEED BY ALL ALGORITHMS
==================================================
==================================================
PREDICITED ENERGY BY ALL ALGORITHMS
==================================================
print("\n\nROOT MEAN SQUARE OF ALL ALGORITHMS:")
print("====================================\n")
pretty_table_RMSE = PrettyTable()
pretty_table_RMSE.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table_RMSE.add_column("Pos X RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_pos_x_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_pos_x_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_pos_x_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_pos_x_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_pos_x_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_pos_x_2))),2)])
pretty_table_RMSE.add_column("Pos Y RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_pos_y_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_pos_y_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_pos_y_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_pos_y_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_pos_y_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_pos_y_2))),2)])
pretty_table_RMSE.add_column("Speed RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_speed_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_speed_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_speed_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_speed_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_speed_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_speed_2))),2)])
pretty_table_RMSE.add_column("Energy RMSE",[round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_energy_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_energy_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_energy_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_energy_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_energy_2))),2),
round((math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_energy_2))),2)])
print(pretty_table_RMSE)
ROOT MEAN SQUARE OF ALL ALGORITHMS: ==================================== +-------------------+------------+------------+------------+-------------+ | Algorithm | Pos X RMSE | Pos Y RMSE | Speed RMSE | Energy RMSE | +-------------------+------------+------------+------------+-------------+ | Stacked_LSTM | 61.25 | 141.62 | 308.93 | 223.24 | | CNN_LSTM | 102.17 | 111.84 | 308.73 | 723.94 | | LSTM | 62.06 | 182.2 | 309.01 | 224.93 | | BiDirectonal_LSTM | 21.31 | 207.42 | 307.37 | 4518.41 | | GRU | 20.77 | 210.16 | 308.9 | 4254.63 | | RNN | 140.28 | 190.02 | 308.97 | 222.78 | +-------------------+------------+------------+------------+-------------+
print("\n\n===============")
print("RMSE of Node 7: ")
print("===============\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_pos_x_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_pos_x_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_pos_x_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_pos_x_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_pos_x_2_node_7)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_pos_y_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_pos_y_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_pos_y_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_pos_y_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_pos_y_2_node_7)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_speed_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_speed_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_speed_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_speed_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_speed_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_speed_2_node_7)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_energy_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_energy_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_energy_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_energy_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_energy_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_energy_2_node_7)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.8)
ax.bar(X, data[1], color = 'purple', width = 0.6)
ax.bar(X, data[2], color = 'red', width = 0.4)
ax.bar(X, data[3], color = 'green', width = 0.2)
ax.legend(['POS X','POS Y','SPEED','ENERGY'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n===============")
print("RMSE of Node 15: ")
print("===============\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_pos_x_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_pos_x_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_pos_x_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_pos_x_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_pos_x_2_node_15)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_pos_y_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_pos_y_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_pos_y_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_pos_y_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_pos_y_2_node_15)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_speed_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_speed_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_speed_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_speed_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_speed_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_speed_2_node_15)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_energy_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_energy_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_energy_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_energy_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_energy_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_energy_2_node_15)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.8)
ax.bar(X, data[1], color = 'purple', width = 0.6)
ax.bar(X, data[2], color = 'red', width = 0.4)
ax.bar(X, data[3], color = 'green', width = 0.2)
ax.legend(['POS X','POS Y','SPEED','ENERGY'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n===============")
print("RMSE of Node 24: ")
print("===============\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_pos_x_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_pos_x_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_pos_x_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_pos_x_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_pos_x_2_node_24)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_pos_y_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_pos_y_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_pos_y_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_pos_y_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_pos_y_2_node_24)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_speed_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_speed_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_speed_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_speed_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_speed_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_speed_2_node_24)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_energy_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_energy_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_energy_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_energy_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_energy_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_energy_2_node_24)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.8)
ax.bar(X, data[1], color = 'purple', width = 0.6)
ax.bar(X, data[2], color = 'red', width = 0.4)
ax.bar(X, data[3], color = 'green', width = 0.2)
ax.legend(['POS X','POS Y','SPEED','ENERGY'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n===============")
print("RMSE of Node 33: ")
print("===============\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_pos_x_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_pos_x_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_pos_x_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_pos_x_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_pos_x_2_node_33)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_pos_y_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_pos_y_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_pos_y_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_pos_y_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_pos_y_2_node_33)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_speed_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_speed_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_speed_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_speed_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_speed_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_speed_2_node_33)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_energy_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_energy_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_energy_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_energy_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_energy_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_energy_2_node_33)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.8)
ax.bar(X, data[1], color = 'purple', width = 0.6)
ax.bar(X, data[2], color = 'red', width = 0.4)
ax.bar(X, data[3], color = 'green', width = 0.2)
ax.legend(['POS X','POS Y','SPEED','ENERGY'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n===============")
print("RMSE of Node 48: ")
print("===============\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_pos_x_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_pos_x_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_pos_x_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_pos_x_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_pos_x_2_node_48)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_pos_y_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_pos_y_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_pos_y_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_pos_y_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_pos_y_2_node_48)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_speed_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_speed_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_speed_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_speed_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_speed_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_speed_2_node_48)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_energy_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_energy_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_energy_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_energy_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_energy_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_energy_2_node_48)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.8)
ax.bar(X, data[1], color = 'purple', width = 0.6)
ax.bar(X, data[2], color = 'red', width = 0.4)
ax.bar(X, data[3], color = 'green', width = 0.2)
ax.legend(['POS X','POS Y','SPEED','ENERGY'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n===============")
print("RMSE of 18000 instances: ")
print("=====================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_pos_x_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_pos_x_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_pos_x_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_pos_x_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_pos_x_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_pos_x_2)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_pos_y_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_pos_y_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_pos_y_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_pos_y_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_pos_y_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_pos_y_2)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_speed_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_speed_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_speed_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_speed_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_speed_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_speed_2)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_energy_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_energy_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_energy_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_energy_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_energy_2))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_energy_2)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.8)
ax.bar(X, data[1], color = 'purple', width = 0.6)
ax.bar(X, data[2], color = 'red', width = 0.4)
ax.bar(X, data[3], color = 'green', width = 0.2)
ax.legend(['POS X','POS Y','SPEED','ENERGY'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
=============== RMSE of Node 7: ===============
=============== RMSE of Node 15: ===============
=============== RMSE of Node 24: ===============
=============== RMSE of Node 33: ===============
=============== RMSE of Node 48: ===============
=============== RMSE of 18000 instances: =====================
pos_x_input = input("\nPlease enter Pos X : ").strip()
pos_y_input = input("\nPlease enter Pos Y : ").strip()
speed_input = input("\nPlease enter Speed ").strip()
energy_input = input("\nPlease enter Energy : ").strip()
Please enter Pos X : 100 Please enter Pos Y : 100 Please enter Speed 100 Please enter Energy : 100
user_input = pd.DataFrame({ 'pos_x_input': [pos_x_input],'pos_y_input': [pos_y_input],'speed_input': [speed_input],'energy_input': [energy_input]})
print("\n\nUser Input Feature Vector:")
print("==========================\n")
print(user_input)
u=scaler.transform(np.array(user_input))
u_reshaped = u.reshape(u.shape[0],u.shape[1] , 1)
u_reshaped2 = u.reshape(u.shape[0],1,u.shape[1] , 1)
User Input Feature Vector: ========================== pos_x_input pos_y_input speed_input energy_input 0 100 100 100 100
user_input_predict_Stacked_LSTM_Model_pos_x = Stacked_LSTM_Model_pos_x.predict(u_reshaped)
user_input_predict_CNN_LSTM_Model_pos_x = CNN_LSTM_Model_pos_x.predict(u_reshaped2)
user_input_predict_LSTM_Model_pos_x = LSTM_Model_pos_x.predict(u_reshaped)
user_input_predict_BiDirectonal_LSTM_Model_pos_x = BiDirectonal_LSTM_Model_pos_x.predict(u_reshaped)
user_input_predict_GRU_Model_pos_x = GRU_Model_pos_x.predict(u_reshaped)
user_input_predict_RNN_Model_pos_x = RNN_Model_pos_x.predict(u_reshaped)
user_input_predict_Stacked_LSTM_Model_pos_y = Stacked_LSTM_Model_pos_y.predict(u_reshaped)
user_input_predict_CNN_LSTM_Model_pos_y = CNN_LSTM_Model_pos_y.predict(u_reshaped2)
user_input_predict_LSTM_Model_pos_y = LSTM_Model_pos_y.predict(u_reshaped)
user_input_predict_BiDirectonal_LSTM_Model_pos_y = BiDirectonal_LSTM_Model_pos_y.predict(u_reshaped)
user_input_predict_GRU_Model_pos_y = GRU_Model_pos_y.predict(u_reshaped)
user_input_predict_RNN_Model_pos_y = RNN_Model_pos_y.predict(u_reshaped)
user_input_predict_Stacked_LSTM_Model_speed = Stacked_LSTM_Model_speed.predict(u_reshaped)
user_input_predict_CNN_LSTM_Model_speed = CNN_LSTM_Model_speed.predict(u_reshaped2)
user_input_predict_LSTM_Model_speed = LSTM_Model_speed.predict(u_reshaped)
user_input_predict_BiDirectonal_LSTM_Model_speed = BiDirectonal_LSTM_Model_speed.predict(u_reshaped)
user_input_predict_GRU_Model_speed = GRU_Model_speed.predict(u_reshaped)
user_input_predict_RNN_Model_speed = RNN_Model_speed.predict(u_reshaped)
user_input_predict_Stacked_LSTM_Model_energy = Stacked_LSTM_Model_energy.predict(u_reshaped)
user_input_predict_CNN_LSTM_Model_energy = CNN_LSTM_Model_energy.predict(u_reshaped2)
user_input_predict_LSTM_Model_energy = LSTM_Model_energy.predict(u_reshaped)
user_input_predict_BiDirectonal_LSTM_Model_energy = BiDirectonal_LSTM_Model_energy.predict(u_reshaped)
user_input_predict_GRU_Model_energy = GRU_Model_energy.predict(u_reshaped)
user_input_predict_RNN_Model_energy = RNN_Model_energy.predict(u_reshaped)
print("\n\nPredictions on User Input at T2:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Pos X",[user_input_predict_Stacked_LSTM_Model_pos_x[0][0],
user_input_predict_CNN_LSTM_Model_pos_x[0][0],
user_input_predict_LSTM_Model_pos_x[0][0],
user_input_predict_BiDirectonal_LSTM_Model_pos_x[0][0],
user_input_predict_GRU_Model_pos_x[0][0],
user_input_predict_RNN_Model_pos_x[0][0]])
pretty_table.add_column("Pos Y",[user_input_predict_Stacked_LSTM_Model_pos_y[0][0],
user_input_predict_CNN_LSTM_Model_pos_y[0][0],
user_input_predict_LSTM_Model_pos_y[0][0],
user_input_predict_BiDirectonal_LSTM_Model_pos_y[0][0],
user_input_predict_GRU_Model_pos_y[0][0],
user_input_predict_RNN_Model_pos_y[0][0]])
pretty_table.add_column("Speed",[user_input_predict_Stacked_LSTM_Model_speed[0][0],
user_input_predict_CNN_LSTM_Model_speed[0][0],
user_input_predict_LSTM_Model_speed[0][0],
user_input_predict_BiDirectonal_LSTM_Model_speed[0][0],
user_input_predict_GRU_Model_speed[0][0],
user_input_predict_RNN_Model_speed[0][0]])
pretty_table.add_column("Energy",[user_input_predict_Stacked_LSTM_Model_energy[0][0],
user_input_predict_CNN_LSTM_Model_energy[0][0],
user_input_predict_LSTM_Model_energy[0][0],
user_input_predict_BiDirectonal_LSTM_Model_energy[0][0],
user_input_predict_GRU_Model_energy[0][0],
user_input_predict_RNN_Model_energy[0][0]])
print(pretty_table)
Predictions on User Input at T2: =============================== +-------------------+-----------+------------+-----------+------------+ | Algorithm | Pos X | Pos Y | Speed | Energy | +-------------------+-----------+------------+-----------+------------+ | Stacked_LSTM | 354.88223 | 258.43912 | 11.563219 | 451.94415 | | CNN_LSTM | 224.3265 | -298.5773 | 97.29312 | 6569.1597 | | LSTM | 264.83844 | 317.49103 | 13.501372 | 454.1055 | | BiDirectonal_LSTM | 32.326412 | 1017.68567 | 151.19135 | -549.58405 | | GRU | 337.75198 | 302.61914 | 29.274237 | 1752.0741 | | RNN | 282.0104 | -54.409695 | 13.382886 | 415.9577 | +-------------------+-----------+------------+-----------+------------+
print("\n\nNode 7 Pos X:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_pos_x_node_7,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.style.use('ggplot')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_x_node_7.predict(X_testing_data_reshaped_node_7),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_7),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_x_node_7.predict(X_testing_data_reshaped_cnn_node_7),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_x.predict(X_testing_data_reshaped_cnn_node_7),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_x_node_7.predict(X_testing_data_reshaped_node_7),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_7),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_x_node_7.predict(X_testing_data_reshaped_node_7),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_7),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_x_node_7.predict(X_testing_data_reshaped_node_7),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_x.predict(X_testing_data_reshaped_node_7),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_x_node_7.predict(X_testing_data_reshaped_node_7),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_x.predict(X_testing_data_reshaped_node_7),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
print("\n\nNode 7 Pos Y:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_pos_y_node_7,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_y_node_7.predict(X_testing_data_reshaped_node_7),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_7),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_y_node_7.predict(X_testing_data_reshaped_cnn_node_7),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_y.predict(X_testing_data_reshaped_cnn_node_7),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_y_node_7.predict(X_testing_data_reshaped_node_7),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_7),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_y_node_7.predict(X_testing_data_reshaped_node_7),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_7),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_y_node_7.predict(X_testing_data_reshaped_node_7),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_y.predict(X_testing_data_reshaped_node_7),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_y_node_7.predict(X_testing_data_reshaped_node_7),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_y.predict(X_testing_data_reshaped_node_7),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
print("\n\nNode 7 Speed:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_speed_node_7,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_speed_node_7.predict(X_testing_data_reshaped_node_7),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_speed.predict(X_testing_data_reshaped_node_7),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_speed_node_7.predict(X_testing_data_reshaped_cnn_node_7),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_speed.predict(X_testing_data_reshaped_cnn_node_7),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_speed_node_7.predict(X_testing_data_reshaped_node_7),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_speed.predict(X_testing_data_reshaped_node_7),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_speed_node_7.predict(X_testing_data_reshaped_node_7),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_speed.predict(X_testing_data_reshaped_node_7),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_speed_node_7.predict(X_testing_data_reshaped_node_7),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_speed.predict(X_testing_data_reshaped_node_7),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_speed_node_7.predict(X_testing_data_reshaped_node_7),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_speed.predict(X_testing_data_reshaped_node_7),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
print("\n\nNode 7 Energy:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_energy_node_7,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_energy_node_7.predict(X_testing_data_reshaped_node_7),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_energy.predict(X_testing_data_reshaped_node_7),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_energy_node_7.predict(X_testing_data_reshaped_cnn_node_7),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_energy.predict(X_testing_data_reshaped_cnn_node_7),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_energy_node_7.predict(X_testing_data_reshaped_node_7),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_energy.predict(X_testing_data_reshaped_node_7),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_energy_node_7.predict(X_testing_data_reshaped_node_7),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_energy.predict(X_testing_data_reshaped_node_7),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_energy_node_7.predict(X_testing_data_reshaped_node_7),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_energy.predict(X_testing_data_reshaped_node_7),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_energy_node_7.predict(X_testing_data_reshaped_node_7),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_energy.predict(X_testing_data_reshaped_node_7),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (jolues)')
plt.show()
Node 7 Pos X: ===============================
Node 7 Pos Y: ===============================
Node 7 Speed: ===============================
Node 7 Energy: ===============================
print("\n\nNode 15 Pos X:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_pos_x_node_15,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_x_node_15.predict(X_testing_data_reshaped_node_15),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_15),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_x_node_15.predict(X_testing_data_reshaped_cnn_node_15),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_x.predict(X_testing_data_reshaped_cnn_node_15),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_x_node_15.predict(X_testing_data_reshaped_node_15),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_15),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_x_node_15.predict(X_testing_data_reshaped_node_15),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_15),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_x_node_15.predict(X_testing_data_reshaped_node_15),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_x.predict(X_testing_data_reshaped_node_15),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_x_node_15.predict(X_testing_data_reshaped_node_15),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_x.predict(X_testing_data_reshaped_node_15),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
print("\n\nNode 15 Pos Y:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_pos_y_node_15,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_y_node_15.predict(X_testing_data_reshaped_node_15),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_15),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_y_node_15.predict(X_testing_data_reshaped_cnn_node_15),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_y.predict(X_testing_data_reshaped_cnn_node_15),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_y_node_15.predict(X_testing_data_reshaped_node_15),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_15),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_y_node_15.predict(X_testing_data_reshaped_node_15),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_15),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_y_node_15.predict(X_testing_data_reshaped_node_15),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_y.predict(X_testing_data_reshaped_node_15),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_y_node_15.predict(X_testing_data_reshaped_node_15),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_y.predict(X_testing_data_reshaped_node_15),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
print("\n\nNode 15 Speed:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_speed_node_15,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_speed_node_15.predict(X_testing_data_reshaped_node_15),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_speed.predict(X_testing_data_reshaped_node_15),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_speed_node_15.predict(X_testing_data_reshaped_cnn_node_15),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_speed.predict(X_testing_data_reshaped_cnn_node_15),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_speed_node_15.predict(X_testing_data_reshaped_node_15),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_speed.predict(X_testing_data_reshaped_node_15),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_speed_node_15.predict(X_testing_data_reshaped_node_15),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_speed.predict(X_testing_data_reshaped_node_15),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_speed_node_15.predict(X_testing_data_reshaped_node_15),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_speed.predict(X_testing_data_reshaped_node_15),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_speed_node_15.predict(X_testing_data_reshaped_node_15),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_speed.predict(X_testing_data_reshaped_node_15),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
print("\n\nNode 15 Energy:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_energy_node_15,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_energy_node_15.predict(X_testing_data_reshaped_node_15),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_energy.predict(X_testing_data_reshaped_node_15),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_energy_node_15.predict(X_testing_data_reshaped_cnn_node_15),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_energy.predict(X_testing_data_reshaped_cnn_node_15),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_energy_node_15.predict(X_testing_data_reshaped_node_15),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_energy.predict(X_testing_data_reshaped_node_15),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_energy_node_15.predict(X_testing_data_reshaped_node_15),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_energy.predict(X_testing_data_reshaped_node_15),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_energy_node_15.predict(X_testing_data_reshaped_node_15),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_energy.predict(X_testing_data_reshaped_node_15),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_energy_node_15.predict(X_testing_data_reshaped_node_15),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_energy.predict(X_testing_data_reshaped_node_15),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
Node 15 Pos X: ===============================
Node 15 Pos Y: ===============================
Node 15 Speed: ===============================
Node 15 Energy: ===============================
print("\n\nNode 24 Pos X:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_pos_x_node_24,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_x_node_24.predict(X_testing_data_reshaped_node_24),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_24),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_x_node_24.predict(X_testing_data_reshaped_cnn_node_24),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_x.predict(X_testing_data_reshaped_cnn_node_24),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_x_node_24.predict(X_testing_data_reshaped_node_24),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_24),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_x_node_24.predict(X_testing_data_reshaped_node_24),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_24),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_x_node_24.predict(X_testing_data_reshaped_node_24),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_x.predict(X_testing_data_reshaped_node_24),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_x_node_24.predict(X_testing_data_reshaped_node_24),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_x.predict(X_testing_data_reshaped_node_24),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
print("\n\nNode 24 Pos Y:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_pos_y_node_24,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_y_node_24.predict(X_testing_data_reshaped_node_24),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_24),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_y_node_24.predict(X_testing_data_reshaped_cnn_node_24),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_y.predict(X_testing_data_reshaped_cnn_node_24),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_y_node_24.predict(X_testing_data_reshaped_node_24),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_24),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_y_node_24.predict(X_testing_data_reshaped_node_24),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_24),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_y_node_24.predict(X_testing_data_reshaped_node_24),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_y.predict(X_testing_data_reshaped_node_24),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_y_node_24.predict(X_testing_data_reshaped_node_24),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_y.predict(X_testing_data_reshaped_node_24),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
print("\n\nNode 24 Speed:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_speed_node_24,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_speed_node_24.predict(X_testing_data_reshaped_node_24),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_speed.predict(X_testing_data_reshaped_node_24),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_speed_node_24.predict(X_testing_data_reshaped_cnn_node_24),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_speed.predict(X_testing_data_reshaped_cnn_node_24),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_speed_node_24.predict(X_testing_data_reshaped_node_24),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_speed.predict(X_testing_data_reshaped_node_24),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_speed_node_24.predict(X_testing_data_reshaped_node_24),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_speed.predict(X_testing_data_reshaped_node_24),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_speed_node_24.predict(X_testing_data_reshaped_node_24),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_speed.predict(X_testing_data_reshaped_node_24),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_speed_node_24.predict(X_testing_data_reshaped_node_24),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_speed.predict(X_testing_data_reshaped_node_24),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
print("\n\nNode 24 Energy:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_energy_node_24,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_energy_node_24.predict(X_testing_data_reshaped_node_24),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_energy.predict(X_testing_data_reshaped_node_24),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_energy_node_24.predict(X_testing_data_reshaped_cnn_node_24),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_energy.predict(X_testing_data_reshaped_cnn_node_24),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_energy_node_24.predict(X_testing_data_reshaped_node_24),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_energy.predict(X_testing_data_reshaped_node_24),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_energy_node_24.predict(X_testing_data_reshaped_node_24),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_energy.predict(X_testing_data_reshaped_node_24),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_energy_node_24.predict(X_testing_data_reshaped_node_24),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_energy.predict(X_testing_data_reshaped_node_24),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_energy_node_24.predict(X_testing_data_reshaped_node_24),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_energy.predict(X_testing_data_reshaped_node_24),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
Node 24 Pos X: ===============================
Node 24 Pos Y: ===============================
Node 24 Speed: ===============================
Node 24 Energy: ===============================
print("\n\nNode 33 Pos X:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_pos_x_node_33,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_x_node_33.predict(X_testing_data_reshaped_node_33),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_33),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_x_node_33.predict(X_testing_data_reshaped_cnn_node_33),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_x.predict(X_testing_data_reshaped_cnn_node_33),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_x_node_33.predict(X_testing_data_reshaped_node_33),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_33),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_x_node_33.predict(X_testing_data_reshaped_node_33),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_33),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_x_node_33.predict(X_testing_data_reshaped_node_33),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_x.predict(X_testing_data_reshaped_node_33),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_x_node_33.predict(X_testing_data_reshaped_node_33),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_x.predict(X_testing_data_reshaped_node_33),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
print("\n\nNode 33 Pos Y:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_pos_y_node_33,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_y_node_33.predict(X_testing_data_reshaped_node_33),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_33),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_y_node_33.predict(X_testing_data_reshaped_cnn_node_33),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_y.predict(X_testing_data_reshaped_cnn_node_33),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_y_node_33.predict(X_testing_data_reshaped_node_33),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_33),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_y_node_33.predict(X_testing_data_reshaped_node_33),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_33),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_y_node_33.predict(X_testing_data_reshaped_node_33),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_y.predict(X_testing_data_reshaped_node_33),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_y_node_33.predict(X_testing_data_reshaped_node_33),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_y.predict(X_testing_data_reshaped_node_33),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
print("\n\nNode 33 Speed:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_speed_node_33,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_speed_node_33.predict(X_testing_data_reshaped_node_33),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_speed.predict(X_testing_data_reshaped_node_33),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_speed_node_33.predict(X_testing_data_reshaped_cnn_node_33),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_speed.predict(X_testing_data_reshaped_cnn_node_33),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_speed_node_33.predict(X_testing_data_reshaped_node_33),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_speed.predict(X_testing_data_reshaped_node_33),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_speed_node_33.predict(X_testing_data_reshaped_node_33),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_speed.predict(X_testing_data_reshaped_node_33),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_speed_node_33.predict(X_testing_data_reshaped_node_33),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_speed.predict(X_testing_data_reshaped_node_33),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_speed_node_33.predict(X_testing_data_reshaped_node_33),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_speed.predict(X_testing_data_reshaped_node_33),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
print("\n\nNode 33 Energy:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_energy_node_33,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_energy_node_33.predict(X_testing_data_reshaped_node_33),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_energy.predict(X_testing_data_reshaped_node_33),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_energy_node_33.predict(X_testing_data_reshaped_cnn_node_33),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_energy.predict(X_testing_data_reshaped_cnn_node_33),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_energy_node_33.predict(X_testing_data_reshaped_node_33),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_energy.predict(X_testing_data_reshaped_node_33),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_energy_node_33.predict(X_testing_data_reshaped_node_33),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_energy.predict(X_testing_data_reshaped_node_33),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_energy_node_33.predict(X_testing_data_reshaped_node_33),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_energy.predict(X_testing_data_reshaped_node_33),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_energy_node_33.predict(X_testing_data_reshaped_node_33),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_energy.predict(X_testing_data_reshaped_node_33),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
Node 33 Pos X: ===============================
Node 33 Pos Y: ===============================
Node 33 Speed: ===============================
Node 33 Energy: ===============================
print("\n\nNode 48 Pos X:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_pos_x_node_48,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_x_node_48.predict(X_testing_data_reshaped_node_48),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_48),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_x_node_48.predict(X_testing_data_reshaped_cnn_node_48),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_x.predict(X_testing_data_reshaped_cnn_node_48),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_x_node_48.predict(X_testing_data_reshaped_node_48),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_48),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_x_node_48.predict(X_testing_data_reshaped_node_48),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_x.predict(X_testing_data_reshaped_node_48),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_x_node_48.predict(X_testing_data_reshaped_node_48),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_x.predict(X_testing_data_reshaped_node_48),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_x_node_48.predict(X_testing_data_reshaped_node_48),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_x.predict(X_testing_data_reshaped_node_48),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('X (meters)')
plt.show()
print("\n\nNode 48 Pos Y:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_pos_y_node_48,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_y_node_48.predict(X_testing_data_reshaped_node_48),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_48),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_y_node_48.predict(X_testing_data_reshaped_cnn_node_48),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_pos_y.predict(X_testing_data_reshaped_cnn_node_48),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_y_node_48.predict(X_testing_data_reshaped_node_48),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_48),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_y_node_48.predict(X_testing_data_reshaped_node_48),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_pos_y.predict(X_testing_data_reshaped_node_48),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_y_node_48.predict(X_testing_data_reshaped_node_48),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_pos_y.predict(X_testing_data_reshaped_node_48),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_y_node_48.predict(X_testing_data_reshaped_node_48),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_pos_y.predict(X_testing_data_reshaped_node_48),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Y (meters)')
plt.show()
print("\n\nNode 48 Speed:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_speed_node_48,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_speed_node_48.predict(X_testing_data_reshaped_node_48),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_speed.predict(X_testing_data_reshaped_node_48),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_speed_node_48.predict(X_testing_data_reshaped_cnn_node_48),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_speed.predict(X_testing_data_reshaped_cnn_node_48),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_speed_node_48.predict(X_testing_data_reshaped_node_48),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_speed.predict(X_testing_data_reshaped_node_48),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_speed_node_48.predict(X_testing_data_reshaped_node_48),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_speed.predict(X_testing_data_reshaped_node_48),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_speed_node_48.predict(X_testing_data_reshaped_node_48),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_speed.predict(X_testing_data_reshaped_node_48),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_speed_node_48.predict(X_testing_data_reshaped_node_48),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_speed.predict(X_testing_data_reshaped_node_48),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Speed (m/s)')
plt.show()
print("\n\nNode 48 Energy:")
print("===============================\n")
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(y_testing_data_energy_node_48,color="blue")
plt.legend(['True'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_energy_node_48.predict(X_testing_data_reshaped_node_48),color="red")
plt.legend(['Stacked_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(Stacked_LSTM_Model_energy.predict(X_testing_data_reshaped_node_48),color="red")
plt.legend(['Stacked_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_energy_node_48.predict(X_testing_data_reshaped_cnn_node_48),color="green")
plt.legend(['CNN_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(CNN_LSTM_Model_energy.predict(X_testing_data_reshaped_cnn_node_48),color="green")
plt.legend(['CNN_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_energy_node_48.predict(X_testing_data_reshaped_node_48),color="black")
plt.legend(['LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(LSTM_Model_energy.predict(X_testing_data_reshaped_node_48),color="black")
plt.legend(['LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_energy_node_48.predict(X_testing_data_reshaped_node_48),color="brown")
plt.legend(['BiDirectional_LSTM - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(BiDirectonal_LSTM_Model_energy.predict(X_testing_data_reshaped_node_48),color="brown")
plt.legend(['BiDirectional_LSTM - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_energy_node_48.predict(X_testing_data_reshaped_node_48),color="gray")
plt.legend(['GRU - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(GRU_Model_energy.predict(X_testing_data_reshaped_node_48),color="gray")
plt.legend(['GRU - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
###############################################################################
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_energy_node_48.predict(X_testing_data_reshaped_node_48),color="magenta")
plt.legend(['RNN - Single'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
plt.figure()
fig = plt.gcf()
fig.set_size_inches(16, 1)
plt.plot(RNN_Model_energy.predict(X_testing_data_reshaped_node_48),color="magenta")
plt.legend(['RNN - Multiple'], loc='upper right')
plt.xlabel('Time (seconds)')
plt.ylabel('Energy (Joules)')
plt.show()
Node 48 Pos X: ===============================
Node 48 Pos Y: ===============================
Node 48 Speed: ===============================
Node 48 Energy: ===============================
print("\n\nRMSE of POS X for Node 7:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_pos_x))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_pos_x_node_7)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_pos_x_node_7)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_pos_x_node_7)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_pos_x_node_7)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_pos_x_node_7)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_pos_x_node_7))])
print(pretty_table)
print("\n\nRMSE of POS Y for Node 7:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_Stacked_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_CNN_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_BiDirectonal_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_GRU_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_RNN_Model_pos_y))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_Stacked_LSTM_Model_pos_y_node_7)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_CNN_LSTM_Model_pos_y_node_7)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_LSTM_Model_pos_y_node_7)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_BiDirectonal_LSTM_Model_pos_y_node_7)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_GRU_Model_pos_y_node_7)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_RNN_Model_pos_y_node_7))])
print(pretty_table)
print("\n\nRMSE of Speed for Node 7:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_Stacked_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_CNN_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_BiDirectonal_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_GRU_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_RNN_Model_speed))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_Stacked_LSTM_Model_speed_node_7)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_CNN_LSTM_Model_speed_node_7)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_LSTM_Model_speed_node_7)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_BiDirectonal_LSTM_Model_speed_node_7)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_GRU_Model_speed_node_7)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_RNN_Model_speed_node_7))])
print(pretty_table)
print("\n\nRMSE of Energy for Node 7:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_Stacked_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_CNN_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_BiDirectonal_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_GRU_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_RNN_Model_energy))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_Stacked_LSTM_Model_energy_node_7)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_CNN_LSTM_Model_energy_node_7)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_LSTM_Model_energy_node_7)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_BiDirectonal_LSTM_Model_energy_node_7)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_GRU_Model_energy_node_7)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_RNN_Model_energy_node_7))])
print(pretty_table)
RMSE of POS X for Node 7: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 61.24921169192751 | 123.981724337066 | | CNN_LSTM | 102.1710234948836 | 41.42521368851659 | | LSTM | 62.06099552130979 | 122.62988736273873 | | BiDirectonal_LSTM | 21.30604485598056 | 15.472769223108413 | | GRU | 20.767906096783808 | 26.911247497909503 | | RNN | 140.2831228889263 | 124.56495459719021 | +-------------------+--------------------+--------------------+ RMSE of POS Y for Node 7: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 159.57752386657987 | 114.54259473021803 | | CNN_LSTM | 133.44322081508946 | 53.92020967961218 | | LSTM | 91.05439630731244 | 111.93091939923399 | | BiDirectonal_LSTM | 28.416358116269265 | 70.12713281868652 | | GRU | 23.35258700752008 | 79.34188876221245 | | RNN | 66.37482678974489 | 114.53593711893676 | +-------------------+--------------------+--------------------+ RMSE of Speed for Node 7: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 0.6647372753997914 | 1.3223860744926395 | | CNN_LSTM | 1.1324576016620895 | 0.8392285797671369 | | LSTM | 0.6249464855007287 | 0.6759420687072014 | | BiDirectonal_LSTM | 3.4890517432098926 | 0.6367309253112398 | | GRU | 0.6382154593351096 | 0.485575171241919 | | RNN | 0.6192413369862964 | 0.4926025771755116 | +-------------------+--------------------+--------------------+ RMSE of Energy for Node 7: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 580.9612708079775 | 59.6557895808515 | | CNN_LSTM | 690.4185139473112 | 304.38738333529415 | | LSTM | 580.793525264608 | 61.49070066779251 | | BiDirectonal_LSTM | 4019.671459870819 | 196.12055188917748 | | GRU | 3760.3388405168557 | 168.52778792856125 | | RNN | 581.0078232728362 | 58.87792915288162 | +-------------------+--------------------+--------------------+
print("\n\n==============================")
print(" RMSE of Node 7 ( pos x ): ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_pos_x_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_pos_x_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_pos_x_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_pos_x_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_pos_x_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_pos_x_node_7)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_Stacked_LSTM_Model_pos_x_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_CNN_LSTM_Model_pos_x_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_LSTM_Model_pos_x_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_GRU_Model_pos_x_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_7,test_predict_RNN_Model_pos_x_2_node_7)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Node 7 ( pos y ): ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_Stacked_LSTM_Model_pos_y_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_CNN_LSTM_Model_pos_y_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_LSTM_Model_pos_y_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_BiDirectonal_LSTM_Model_pos_y_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_GRU_Model_pos_y_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_RNN_Model_pos_y_node_7)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_Stacked_LSTM_Model_pos_y_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_CNN_LSTM_Model_pos_y_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_LSTM_Model_pos_y_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_GRU_Model_pos_y_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_RNN_Model_pos_y_2_node_7)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Speed: ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_Stacked_LSTM_Model_speed_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_CNN_LSTM_Model_speed_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_LSTM_Model_speed_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_BiDirectonal_LSTM_Model_speed_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_GRU_Model_speed_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_RNN_Model_speed_node_7)))],
[(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_Stacked_LSTM_Model_speed_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_CNN_LSTM_Model_speed_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_LSTM_Model_speed_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_BiDirectonal_LSTM_Model_speed_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_GRU_Model_speed_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_7,test_predict_RNN_Model_speed_2_node_7)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Energy: ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_Stacked_LSTM_Model_energy_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_CNN_LSTM_Model_energy_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_LSTM_Model_energy_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_BiDirectonal_LSTM_Model_energy_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_GRU_Model_energy_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_RNN_Model_energy_node_7)))],
[(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_Stacked_LSTM_Model_energy_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_CNN_LSTM_Model_energy_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_LSTM_Model_energy_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_BiDirectonal_LSTM_Model_energy_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_GRU_Model_energy_2_node_7))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_7,test_predict_RNN_Model_energy_2_node_7)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
============================== RMSE of Node 7 ( pos x ): ==============================
============================== RMSE of Node 7 ( pos y ): ==============================
============================== RMSE of Speed: ==============================
============================== RMSE of Energy: ==============================
print("\n\nRMSE of POS X for Node 15:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_pos_x))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_pos_x_node_15)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_pos_x_node_15)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_pos_x_node_15)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_pos_x_node_15)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_pos_x_node_15)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_pos_x_node_15))])
print(pretty_table)
print("\n\nRMSE of POS Y for Node 15:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_Stacked_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_CNN_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_BiDirectonal_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_GRU_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_RNN_Model_pos_y))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_Stacked_LSTM_Model_pos_y_node_15)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_CNN_LSTM_Model_pos_y_node_15)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_LSTM_Model_pos_y_node_15)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_BiDirectonal_LSTM_Model_pos_y_node_15)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_GRU_Model_pos_y_node_15)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_RNN_Model_pos_y_node_15))])
print(pretty_table)
print("\n\nRMSE of Speed for Node 15:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_Stacked_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_CNN_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_BiDirectonal_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_GRU_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_RNN_Model_speed))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_Stacked_LSTM_Model_speed_node_15)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_CNN_LSTM_Model_speed_node_15)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_LSTM_Model_speed_node_15)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_BiDirectonal_LSTM_Model_speed_node_15)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_GRU_Model_speed_node_15)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_RNN_Model_speed_node_15))])
print(pretty_table)
print("\n\nRMSE of Energy for Node 15:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_Stacked_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_CNN_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_BiDirectonal_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_GRU_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_RNN_Model_energy))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_Stacked_LSTM_Model_energy_node_15)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_CNN_LSTM_Model_energy_node_15)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_LSTM_Model_energy_node_15)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_BiDirectonal_LSTM_Model_energy_node_15)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_GRU_Model_energy_node_15)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_RNN_Model_energy_node_15))])
print(pretty_table)
RMSE of POS X for Node 15: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 61.24921169192751 | 145.97427322191535 | | CNN_LSTM | 102.1710234948836 | 96.3507495509225 | | LSTM | 62.06099552130979 | 143.80582473763488 | | BiDirectonal_LSTM | 21.30604485598056 | 163.88808119833243 | | GRU | 20.767906096783808 | 139.56143742628595 | | RNN | 140.2831228889263 | 148.522614924966 | +-------------------+--------------------+--------------------+ RMSE of POS Y for Node 15: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 159.57752386657987 | 176.9297653444743 | | CNN_LSTM | 133.44322081508946 | 55.81996695241883 | | LSTM | 91.05439630731244 | 173.89636892905497 | | BiDirectonal_LSTM | 28.416358116269265 | 86.96190672294681 | | GRU | 23.35258700752008 | 73.11046521732577 | | RNN | 66.37482678974489 | 176.93451053857785 | +-------------------+--------------------+--------------------+ RMSE of Speed for Node 15: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 0.6647372753997914 | 1.3345308098315403 | | CNN_LSTM | 1.1324576016620895 | 1.785049553037206 | | LSTM | 0.6249464855007287 | 0.7334628834121973 | | BiDirectonal_LSTM | 3.4890517432098926 | 0.8147339061807343 | | GRU | 0.6382154593351096 | 0.7858934747961992 | | RNN | 0.6192413369862964 | 0.8584550146744845 | +-------------------+--------------------+--------------------+ RMSE of Energy for Node 15: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 580.9612708079775 | 479.0988241247522 | | CNN_LSTM | 690.4185139473112 | 119.44507918527674 | | LSTM | 580.793525264608 | 478.41840458462974 | | BiDirectonal_LSTM | 4019.671459870819 | 411.74089137786603 | | GRU | 3760.3388405168557 | 255.74325590863873 | | RNN | 581.0078232728362 | 479.5544453226019 | +-------------------+--------------------+--------------------+
print("\n\n==============================")
print(" RMSE of Node 15 ( pos x ): ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_pos_x_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_pos_x_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_pos_x_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_pos_x_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_pos_x_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_pos_x_node_15)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_Stacked_LSTM_Model_pos_x_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_CNN_LSTM_Model_pos_x_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_LSTM_Model_pos_x_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_GRU_Model_pos_x_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_15,test_predict_RNN_Model_pos_x_2_node_15)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Node 15 ( pos y ): ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_Stacked_LSTM_Model_pos_y_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_CNN_LSTM_Model_pos_y_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_LSTM_Model_pos_y_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_BiDirectonal_LSTM_Model_pos_y_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_GRU_Model_pos_y_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_RNN_Model_pos_y_node_15)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_Stacked_LSTM_Model_pos_y_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_CNN_LSTM_Model_pos_y_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_LSTM_Model_pos_y_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_GRU_Model_pos_y_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_15,test_predict_RNN_Model_pos_y_2_node_15)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Speed: ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_Stacked_LSTM_Model_speed_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_CNN_LSTM_Model_speed_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_LSTM_Model_speed_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_BiDirectonal_LSTM_Model_speed_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_GRU_Model_speed_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_RNN_Model_speed_node_15)))],
[(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_Stacked_LSTM_Model_speed_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_CNN_LSTM_Model_speed_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_LSTM_Model_speed_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_BiDirectonal_LSTM_Model_speed_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_GRU_Model_speed_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_15,test_predict_RNN_Model_speed_2_node_15)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Energy: ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_Stacked_LSTM_Model_energy_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_CNN_LSTM_Model_energy_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_LSTM_Model_energy_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_BiDirectonal_LSTM_Model_energy_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_GRU_Model_energy_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_RNN_Model_energy_node_15)))],
[(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_Stacked_LSTM_Model_energy_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_CNN_LSTM_Model_energy_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_LSTM_Model_energy_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_BiDirectonal_LSTM_Model_energy_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_GRU_Model_energy_2_node_15))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_15,test_predict_RNN_Model_energy_2_node_15)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
============================== RMSE of Node 15 ( pos x ): ==============================
============================== RMSE of Node 15 ( pos y ): ==============================
============================== RMSE of Speed: ==============================
============================== RMSE of Energy: ==============================
print("\n\nRMSE of POS X for Node 24:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_pos_x))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_pos_x_node_24)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_pos_x_node_24)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_pos_x_node_24)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_pos_x_node_24)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_pos_x_node_24)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_pos_x_node_24))])
print(pretty_table)
print("\n\nRMSE of POS Y for Node 24:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_Stacked_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_CNN_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_BiDirectonal_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_GRU_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_RNN_Model_pos_y))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_y_node_24,test_predict_Stacked_LSTM_Model_pos_y_node_24)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_24,test_predict_CNN_LSTM_Model_pos_y_node_24)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_24,test_predict_LSTM_Model_pos_y_node_24)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_24,test_predict_BiDirectonal_LSTM_Model_pos_y_node_24)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_24,test_predict_GRU_Model_pos_y_node_24)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_24,test_predict_RNN_Model_pos_y_node_24))])
print(pretty_table)
print("\n\nRMSE of Speed for Node 24:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_Stacked_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_CNN_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_BiDirectonal_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_GRU_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_RNN_Model_speed))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_Stacked_LSTM_Model_speed_node_24)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_CNN_LSTM_Model_speed_node_24)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_LSTM_Model_speed_node_24)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_BiDirectonal_LSTM_Model_speed_node_24)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_GRU_Model_speed_node_24)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_RNN_Model_speed_node_24))])
print(pretty_table)
print("\n\nRMSE of Energy for Node 24:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_Stacked_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_CNN_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_BiDirectonal_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_GRU_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_RNN_Model_energy))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_Stacked_LSTM_Model_energy_node_24)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_CNN_LSTM_Model_energy_node_24)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_LSTM_Model_energy_node_24)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_BiDirectonal_LSTM_Model_energy_node_24)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_GRU_Model_energy_node_24)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_RNN_Model_energy_node_24))])
print(pretty_table)
RMSE of POS X for Node 24: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 61.24921169192751 | 257.7954130575904 | | CNN_LSTM | 102.1710234948836 | 82.77935328590216 | | LSTM | 62.06099552130979 | 255.82188337992102 | | BiDirectonal_LSTM | 21.30604485598056 | 72.9606199636792 | | GRU | 20.767906096783808 | 44.00216484194272 | | RNN | 140.2831228889263 | 257.4535214800704 | +-------------------+--------------------+--------------------+ RMSE of POS Y for Node 24: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 159.57752386657987 | 108.49681331079339 | | CNN_LSTM | 133.44322081508946 | 94.94003132283116 | | LSTM | 91.05439630731244 | 106.67321693285228 | | BiDirectonal_LSTM | 28.416358116269265 | 25.28796170794887 | | GRU | 23.35258700752008 | 85.3808500780627 | | RNN | 66.37482678974489 | 109.4786457962932 | +-------------------+--------------------+--------------------+ RMSE of Speed for Node 24: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 0.6647372753997914 | 2.1364596212758826 | | CNN_LSTM | 1.1324576016620895 | 1.7924455355735254 | | LSTM | 0.6249464855007287 | 1.2239059435773598 | | BiDirectonal_LSTM | 3.4890517432098926 | 0.9237705686606663 | | GRU | 0.6382154593351096 | 0.9231312058580767 | | RNN | 0.6192413369862964 | 1.351143446594122 | +-------------------+--------------------+--------------------+ RMSE of Energy for Node 24: =============================== +-------------------+--------------------+-------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+-------------------+ | Stacked_LSTM | 580.9612708079775 | 986.3790117496548 | | CNN_LSTM | 690.4185139473112 | 845.9742692550271 | | LSTM | 580.793525264608 | 984.2447765291922 | | BiDirectonal_LSTM | 4019.671459870819 | 517.5964521813826 | | GRU | 3760.3388405168557 | 679.3194368512528 | | RNN | 581.0078232728362 | 987.4681164071391 | +-------------------+--------------------+-------------------+
print("\n\n==============================")
print(" RMSE of Node 24 ( pos x ): ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_pos_x_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_pos_x_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_pos_x_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_pos_x_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_pos_x_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_pos_x_node_24)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_Stacked_LSTM_Model_pos_x_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_CNN_LSTM_Model_pos_x_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_LSTM_Model_pos_x_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_GRU_Model_pos_x_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_24,test_predict_RNN_Model_pos_x_2_node_24)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Node 24 ( pos y ): ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_Stacked_LSTM_Model_pos_y_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_CNN_LSTM_Model_pos_y_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_LSTM_Model_pos_y_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_BiDirectonal_LSTM_Model_pos_y_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_GRU_Model_pos_y_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_RNN_Model_pos_y_node_24)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_Stacked_LSTM_Model_pos_y_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_CNN_LSTM_Model_pos_y_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_LSTM_Model_pos_y_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_GRU_Model_pos_y_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_7,test_predict_RNN_Model_pos_y_2_node_24)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Speed: ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_Stacked_LSTM_Model_speed_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_CNN_LSTM_Model_speed_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_LSTM_Model_speed_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_BiDirectonal_LSTM_Model_speed_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_GRU_Model_speed_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_RNN_Model_speed_node_24)))],
[(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_Stacked_LSTM_Model_speed_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_CNN_LSTM_Model_speed_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_LSTM_Model_speed_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_BiDirectonal_LSTM_Model_speed_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_GRU_Model_speed_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_24,test_predict_RNN_Model_speed_2_node_24)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Energy: ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_Stacked_LSTM_Model_energy_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_CNN_LSTM_Model_energy_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_LSTM_Model_energy_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_BiDirectonal_LSTM_Model_energy_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_GRU_Model_energy_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_RNN_Model_energy_node_24)))],
[(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_Stacked_LSTM_Model_energy_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_CNN_LSTM_Model_energy_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_LSTM_Model_energy_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_BiDirectonal_LSTM_Model_energy_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_GRU_Model_energy_2_node_24))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_24,test_predict_RNN_Model_energy_2_node_24)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
============================== RMSE of Node 24 ( pos x ): ==============================
============================== RMSE of Node 24 ( pos y ): ==============================
============================== RMSE of Speed: ==============================
============================== RMSE of Energy: ==============================
print("\n\nRMSE of POS X for Node 33:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_pos_x))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_pos_x_node_33)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_pos_x_node_33)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_pos_x_node_33)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_pos_x_node_33)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_pos_x_node_33)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_pos_x_node_33))])
print(pretty_table)
print("\n\nRMSE of POS Y for Node 33:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_Stacked_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_CNN_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_BiDirectonal_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_GRU_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_RNN_Model_pos_y))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_Stacked_LSTM_Model_pos_y_node_33)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_CNN_LSTM_Model_pos_y_node_33)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_LSTM_Model_pos_y_node_33)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_BiDirectonal_LSTM_Model_pos_y_node_33)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_GRU_Model_pos_y_node_33)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_RNN_Model_pos_y_node_33))])
print(pretty_table)
print("\n\nRMSE of Speed for Node 33:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_Stacked_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_CNN_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_BiDirectonal_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_GRU_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_RNN_Model_speed))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_Stacked_LSTM_Model_speed_node_33)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_CNN_LSTM_Model_speed_node_33)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_LSTM_Model_speed_node_33)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_BiDirectonal_LSTM_Model_speed_node_33)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_GRU_Model_speed_node_33)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_RNN_Model_speed_node_33))])
print(pretty_table)
print("\n\nRMSE of Energy for Node 33:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_Stacked_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_CNN_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_BiDirectonal_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_GRU_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_RNN_Model_energy))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_Stacked_LSTM_Model_energy_node_33)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_CNN_LSTM_Model_energy_node_33)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_LSTM_Model_energy_node_33)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_BiDirectonal_LSTM_Model_energy_node_33)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_GRU_Model_energy_node_33)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_RNN_Model_energy_node_33))])
print(pretty_table)
RMSE of POS X for Node 33: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 61.24921169192751 | 193.70953735607617 | | CNN_LSTM | 102.1710234948836 | 103.06990579867387 | | LSTM | 62.06099552130979 | 191.86525172717202 | | BiDirectonal_LSTM | 21.30604485598056 | 65.30544743297659 | | GRU | 20.767906096783808 | 64.85719612818674 | | RNN | 140.2831228889263 | 195.18939770976954 | +-------------------+--------------------+--------------------+ RMSE of POS Y for Node 33: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 159.57752386657987 | 219.78996954108516 | | CNN_LSTM | 133.44322081508946 | 83.60188222900314 | | LSTM | 91.05439630731244 | 217.56895903489925 | | BiDirectonal_LSTM | 28.416358116269265 | 73.44002737925149 | | GRU | 23.35258700752008 | 91.72610847149676 | | RNN | 66.37482678974489 | 220.59589685668757 | +-------------------+--------------------+--------------------+ RMSE of Speed for Node 33: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 0.6647372753997914 | 0.8852174836354741 | | CNN_LSTM | 1.1324576016620895 | 2.65029331668349 | | LSTM | 0.6249464855007287 | 1.0731063914884176 | | BiDirectonal_LSTM | 3.4890517432098926 | 1.4883888771416753 | | GRU | 0.6382154593351096 | 0.8424116788231122 | | RNN | 0.6192413369862964 | 0.8229388886971586 | +-------------------+--------------------+--------------------+ RMSE of Energy for Node 33: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 580.9612708079775 | 476.3694606406331 | | CNN_LSTM | 690.4185139473112 | 499.25925813945594 | | LSTM | 580.793525264608 | 475.03147964115055 | | BiDirectonal_LSTM | 4019.671459870819 | 544.7265719091582 | | GRU | 3760.3388405168557 | 467.98088347075924 | | RNN | 581.0078232728362 | 478.1609091476392 | +-------------------+--------------------+--------------------+
print("\n\n==============================")
print(" RMSE of Node 33 ( pos x ): ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_pos_x_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_pos_x_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_pos_x_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_pos_x_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_pos_x_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_pos_x_node_33)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_Stacked_LSTM_Model_pos_x_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_CNN_LSTM_Model_pos_x_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_LSTM_Model_pos_x_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_GRU_Model_pos_x_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_33,test_predict_RNN_Model_pos_x_2_node_33)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Node 33 ( pos y ): ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_Stacked_LSTM_Model_pos_y_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_CNN_LSTM_Model_pos_y_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_LSTM_Model_pos_y_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_BiDirectonal_LSTM_Model_pos_y_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_GRU_Model_pos_y_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_RNN_Model_pos_y_node_33)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_Stacked_LSTM_Model_pos_y_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_CNN_LSTM_Model_pos_y_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_LSTM_Model_pos_y_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_GRU_Model_pos_y_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_33,test_predict_RNN_Model_pos_y_2_node_33)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Speed: ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_Stacked_LSTM_Model_speed_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_CNN_LSTM_Model_speed_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_LSTM_Model_speed_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_BiDirectonal_LSTM_Model_speed_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_GRU_Model_speed_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_RNN_Model_speed_node_33)))],
[(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_Stacked_LSTM_Model_speed_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_CNN_LSTM_Model_speed_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_LSTM_Model_speed_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_BiDirectonal_LSTM_Model_speed_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_GRU_Model_speed_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_33,test_predict_RNN_Model_speed_2_node_33)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Energy: ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_Stacked_LSTM_Model_energy_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_CNN_LSTM_Model_energy_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_LSTM_Model_energy_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_BiDirectonal_LSTM_Model_energy_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_GRU_Model_energy_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_RNN_Model_energy_node_33)))],
[(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_Stacked_LSTM_Model_energy_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_CNN_LSTM_Model_energy_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_LSTM_Model_energy_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_BiDirectonal_LSTM_Model_energy_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_GRU_Model_energy_2_node_33))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_33,test_predict_RNN_Model_energy_2_node_33)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
============================== RMSE of Node 33 ( pos x ): ==============================
============================== RMSE of Node 33 ( pos y ): ==============================
============================== RMSE of Speed: ==============================
============================== RMSE of Energy: ==============================
print("\n\nRMSE of POS X for Node 48:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_Stacked_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_CNN_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_BiDirectonal_LSTM_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_GRU_Model_pos_x)),
math.sqrt(mean_squared_error(y_testing_data_pos_x,test_predict_RNN_Model_pos_x))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_pos_x_node_48)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_pos_x_node_48)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_pos_x_node_48)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_pos_x_node_48)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_pos_x_node_48)),
math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_pos_x_node_48))])
print(pretty_table)
print("\n\nRMSE of POS Y for Node 48:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_Stacked_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_CNN_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_BiDirectonal_LSTM_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_GRU_Model_pos_y)),
math.sqrt(mean_squared_error(y_testing_data_pos_y,test_predict_RNN_Model_pos_y))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_Stacked_LSTM_Model_pos_y_node_48)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_CNN_LSTM_Model_pos_y_node_48)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_LSTM_Model_pos_y_node_48)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_BiDirectonal_LSTM_Model_pos_y_node_48)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_GRU_Model_pos_y_node_48)),
math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_RNN_Model_pos_y_node_48))])
print(pretty_table)
print("\n\nRMSE of Speed for Node 48:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_Stacked_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_CNN_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_BiDirectonal_LSTM_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_GRU_Model_speed)),
math.sqrt(mean_squared_error(y_testing_data_speed,test_predict_RNN_Model_speed))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_Stacked_LSTM_Model_speed_node_48)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_CNN_LSTM_Model_speed_node_48)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_LSTM_Model_speed_node_48)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_BiDirectonal_LSTM_Model_speed_node_48)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_GRU_Model_speed_node_48)),
math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_RNN_Model_speed_node_48))])
print(pretty_table)
print("\n\nRMSE of Energy for Node 48:")
print("===============================\n")
pretty_table = PrettyTable()
pretty_table.add_column("Algorithm",["Stacked_LSTM","CNN_LSTM","LSTM","BiDirectonal_LSTM","GRU","RNN"])
pretty_table.add_column("Multiple Model",
[math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_Stacked_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_CNN_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_BiDirectonal_LSTM_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_GRU_Model_energy)),
math.sqrt(mean_squared_error(y_testing_data_energy,test_predict_RNN_Model_energy))])
pretty_table.add_column("Single Model",
[math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_Stacked_LSTM_Model_energy_node_48)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_CNN_LSTM_Model_energy_node_48)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_LSTM_Model_energy_node_48)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_BiDirectonal_LSTM_Model_energy_node_48)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_GRU_Model_energy_node_48)),
math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_RNN_Model_energy_node_48))])
print(pretty_table)
RMSE of POS X for Node 48: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 61.24921169192751 | 320.46859908029677 | | CNN_LSTM | 102.1710234948836 | 64.3659207800162 | | LSTM | 62.06099552130979 | 319.9478090170709 | | BiDirectonal_LSTM | 21.30604485598056 | 56.767080844719466 | | GRU | 20.767906096783808 | 49.715648127865926 | | RNN | 140.2831228889263 | 323.8269430504975 | +-------------------+--------------------+--------------------+ RMSE of POS Y for Node 48: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 159.57752386657987 | 95.10228507476472 | | CNN_LSTM | 133.44322081508946 | 20.353913128691545 | | LSTM | 91.05439630731244 | 92.85477723599958 | | BiDirectonal_LSTM | 28.416358116269265 | 7.633256587911894 | | GRU | 23.35258700752008 | 6.476301148672023 | | RNN | 66.37482678974489 | 97.86114465471238 | +-------------------+--------------------+--------------------+ RMSE of Speed for Node 48: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 0.6647372753997914 | 2.4048618401773973 | | CNN_LSTM | 1.1324576016620895 | 3.863205652102362 | | LSTM | 0.6249464855007287 | 1.351553273418894 | | BiDirectonal_LSTM | 3.4890517432098926 | 1.46665031821823 | | GRU | 0.6382154593351096 | 1.4941851685138519 | | RNN | 0.6192413369862964 | 1.6590009256306597 | +-------------------+--------------------+--------------------+ RMSE of Energy for Node 48: =============================== +-------------------+--------------------+--------------------+ | Algorithm | Multiple Model | Single Model | +-------------------+--------------------+--------------------+ | Stacked_LSTM | 580.9612708079775 | 599.7573180351176 | | CNN_LSTM | 690.4185139473112 | 1517.2697593171383 | | LSTM | 580.793525264608 | 597.2554842870163 | | BiDirectonal_LSTM | 4019.671459870819 | 1492.7014867622406 | | GRU | 3760.3388405168557 | 1359.5611330777754 | | RNN | 581.0078232728362 | 601.7859475573283 | +-------------------+--------------------+--------------------+
print("\n\n==============================")
print(" RMSE of Node 48 ( pos x ): ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_pos_x_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_pos_x_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_pos_x_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_pos_x_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_pos_x_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_pos_x_node_48)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_Stacked_LSTM_Model_pos_x_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_CNN_LSTM_Model_pos_x_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_LSTM_Model_pos_x_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_BiDirectonal_LSTM_Model_pos_x_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_GRU_Model_pos_x_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_x_node_48,test_predict_RNN_Model_pos_x_2_node_48)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Node 48 ( pos y ): ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_Stacked_LSTM_Model_pos_y_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_CNN_LSTM_Model_pos_y_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_LSTM_Model_pos_y_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_BiDirectonal_LSTM_Model_pos_y_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_GRU_Model_pos_y_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_RNN_Model_pos_y_node_48)))],
[(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_Stacked_LSTM_Model_pos_y_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_CNN_LSTM_Model_pos_y_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_LSTM_Model_pos_y_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_BiDirectonal_LSTM_Model_pos_y_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_GRU_Model_pos_y_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_pos_y_node_48,test_predict_RNN_Model_pos_y_2_node_48)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Speed: ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_Stacked_LSTM_Model_speed_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_CNN_LSTM_Model_speed_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_LSTM_Model_speed_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_BiDirectonal_LSTM_Model_speed_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_GRU_Model_speed_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_RNN_Model_speed_node_48)))],
[(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_Stacked_LSTM_Model_speed_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_CNN_LSTM_Model_speed_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_LSTM_Model_speed_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_BiDirectonal_LSTM_Model_speed_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_GRU_Model_speed_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_speed_node_48,test_predict_RNN_Model_speed_2_node_48)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
print("\n\n==============================")
print(" RMSE of Energy: ")
print("==============================\n\n")
data = [[(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_Stacked_LSTM_Model_energy_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_CNN_LSTM_Model_energy_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_LSTM_Model_energy_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_BiDirectonal_LSTM_Model_energy_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_GRU_Model_energy_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_RNN_Model_energy_node_48)))],
[(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_Stacked_LSTM_Model_energy_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_CNN_LSTM_Model_energy_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_LSTM_Model_energy_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_BiDirectonal_LSTM_Model_energy_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_GRU_Model_energy_2_node_48))),
(math.sqrt(mean_squared_error(y_testing_data_energy_node_48,test_predict_RNN_Model_energy_2_node_48)))]]
X = ['Stacked LSTM', 'CNN LSTM', 'LSTM', 'Bi-Directional LSTM', 'GRU','RNN']
fig = plt.figure()
fig.set_size_inches(10, 7)
ax = fig.add_axes([0,0,1,1])
ax.bar(X, data[0], color = 'blue', width = 0.4)
ax.bar(X, data[1], color = 'purple', width = 0.2)
ax.legend(['SINGLE MODEL','MULTIPLE MODEL'], loc='upper left')
plt.title('RMSE')
plt.xlabel('Algorithms')
plt.ylabel('Points')
plt.rc('grid', linestyle="--", color='gray')
plt.grid(True)
plt.show()
============================== RMSE of Node 48 ( pos x ): ==============================
============================== RMSE of Node 48 ( pos y ): ==============================
============================== RMSE of Speed: ==============================
============================== RMSE of Energy: ==============================